You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do not inline VLA functions
When VLA function is inlined, "hasVLA" attribute is lost and alloca
cannot be resolved properly. This behavior can result in segfault.
(cherry picked from commit c59ce5d)
[LLVM16] Removal of Reapply_hasSetOpaquePointersValue.patch
In order to reduce the amount of patches this PR moves
check whether pointers mode was already set from LLVM to IGC
More details in comments
(cherry picked from commit ff57226)
[LLVM16] Removal of Reapply_hasSetOpaquePointersValue.patch
In order to reduce the amount of patches this PR moves
check whether pointers mode was already set from LLVM to IGC
More details in comments
(cherry picked from commit ff57226)
Support opaque pointers in PromoteBools pass
PromoteBools was wrongly skipping RAUW operation on ptr function calls
after promoting their signature and adding their users to promotion
queue which lead to cleaning those users and creating undef values in
subsequent users, which then in turn created dead code which was
eliminated and caused wrong test results. Essentially this pass was
wrongly skipping RAUW when neccessary.
In cases like these:
```llvm
@call = call ptr @some-function(i1 true)
@bitcast = bitcast ptr @call to ptr
@ptrtoint = ptrtoint ptr @bitcast to i64
```
After pass pre fix:
```llvm
@0 = call ptr @some-function(i8 1)
@ptrtoint = ptrtoint ptr undef to i64
```
Proper pass behaviour:
```llvm
@0 = call ptr @some-function(i8 1)
@bitcast = bitcast ptr @0 to ptr
@ptrtoin = ptrtoint ptr @bitcast to i64
```
Fix for IGCVectorizer insertpoint
Now for small blocks consisting of 2 special case instructions
PHI & Terminator (BR or RET for example) we return not
firstnonPHI but the last PHI.
(cherry picked from commit 0b9518e)
Enable CodeScheduling
Improve CodeScheduling and enable it by default
- Support handling of the remated instructions
- Various heuristics added to handle situations with small (splitted)
loads
- Heuristic to populate the same vector added