[llvm-dev] funnel shift, select, and poison (original) (raw)
John Regehr via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 26 13:06:24 PST 2019
- Previous message: [llvm-dev] funnel shift, select, and poison
- Next message: [llvm-dev] funnel shift, select, and poison
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Transforms/InstCombine/select.ll ================================ define i1 @truevalistrue(i1 %C, i1 %X) { %R = select i1 %C, i1 1, i1 %X ret i1 %R } => define i1 @truevalistrue(i1 %C, i1 %X) { %R = or i1 %C, %X ret i1 %R } ERROR: Target is more poisonous than source (when %C = #x1 & %X = poison)
(there are many variations of these select->arithmetic transformations)
This particular little family of transformations can be reliably done by all of the backends I looked at, so disabling them at the IR level should be OK. See a bit more discussion here:
John
- Previous message: [llvm-dev] funnel shift, select, and poison
- Next message: [llvm-dev] funnel shift, select, and poison
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]