[llvm-dev] Predication for instruction selection
Alex Susu via llvm-dev
llvm-dev at lists.llvm.org
Wed Jun 21 02:03:12 PDT 2017
Hello.
I would like to know if today in LLVM instruction predication can be used with
instruction selection. I see that although we have the isPredicable flag for the TableGen
instruction selection specs this flag seems it's not really used in the instruction
selection pass.
I also know there is a method PredicateInstruction() (see
http://llvm.org/docs/doxygen/html/classllvm_1_1TargetInstrInfo.html), that can be used on
MachineInstr, after instruction selection and scheduling - examples of code where it is
used are lib/CodeGen/IfConversion.cpp and ARM/Thumb2ITBlockPass.cpp.
Am I missing something?
I also found these emails on the list back from 2011:
- from http://lists.llvm.org/pipermail/llvm-dev/2011-May/040371.html:
"It's important to point out the current predication support is very limited. For
example, the register allocator and instruction schedulers (and most of MI passes) are not
predication aware. Also, only ARM uses the if-converter and it's done after register
allocation.
There is quite a bit of infrastructure missing to make LLVM a fully predication
aware compiler that's appropriate for an arch like IA64."
- from http://lists.llvm.org/pipermail/llvm-dev/2011-May/040329.html we have: "LLVM
IR does not support predicated execution, so we need to match specific LLVM IR patterns
into predicated instructions when compiling for PTX."
Thank you,
Alex
More information about the llvm-dev
mailing list