| Issue |
168688
|
| Summary |
Why is folding @llvm.assumes into operand bundle assumes behind --enable-knowledge-retention?
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
philnik777
|
Currently you have to pass `-mllvm --enable-knowledge-retention` for LLVM to fold
```llvm
%cmp = icmp ne ptr %ptr, null
call void @llvm.assume(i1 %cmp)
```
into
```llvm
call void @llvm.assume(i1 true) [ "nonnull"(ptr %ptr) ]
```
AFAICT the operand bundles seem to be strictly superior for optimization compared to an equivalent instruction based version. Is there a reason this fold isn't enabled by default/unconditionally?
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs