Nuno Lopes
Nuno Lopes
Also missing support for function calls to change fp rounding mode & subnormal handling
also: functions that access dynamic rounding mode & etc cannot be marked nowrite/noread, accordingly. Thoush, this is only in strict fp mode?
> just a note that we're running into quite a few instances of these `@llvm.experimental.constrained.fcmps.*` while trying to validate LLVM's lowering of IR for SPEC CPU 2017 to AArch64 I...
Another case from LLVM's test suite: ``` ./opt-alive-test.sh -S -passes=loop-simplify ~/llvm/llvm/test/Transforms/LoopFusion/cannot_fuse.ll -tv-src-unroll=2 -tv-tgt-unroll=2 -tv-disable-undef-input -tv-disable-poison-input ``` the last phi is wrong: ```llvm %for.body8: %add#phi#0 = phi float [ %add, %for.body...
This is done thanks to @ManuelJBrito! 🚀 There still a couple of LLVM optimizations that are broken, but there are specific bug reports for them.
Another case from LLVM's test suite: ``` ./opt-alive-test.sh ~/llvm/llvm/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll -p=loop-simplifycfg -tv-src-unroll=2 -tv-tgt-unroll=2 ``` At least 2 phi nodes have wrong predecessors: ```llvm %backedge: br i1 %cmp, label %header#1#2, label %outer_backedge...
This is a tricky case. The address of malloc'ed objects is a non-deterministic value. The compiler is assume whatever it wants, as long as it makes consistent choices. So it...
You're right. That second example shouldn't verify for the exact reason you mention.
this requires rewriting the support for `memory(argmem)`. The implementation is semantic, but LangRef uses a "based-on" definition. The full implementation is non-trivial due to ptr2int/int2ptr round-trips (ptr2int must escape the...
Ah, right, because you're running -O2 on the lifted code. Dropping all the attributes should be fine (or just make them equal to the source). I should be able to...