[LLVMdev] ifconversion following br_cc instructions

Bjorn De Sutter bjorn.desutter at elis.ugent.be
Wed Nov 2 08:14:20 PDT 2011


Hi,

I am trying to implement support for an if-conversion pass in a backend for the ADRES CGRA architecture. 
>From studying the existing IfConversion pass,  I observed the following:
- The PredicateInstruction method is meant to insert guards into conditional instructions. 
- This method assumes that one will be able to get the predicate from the conditional branch instruction 
   on which the conditional instruction depends. 
- So implicitly, this method assumes that the conditional branch instruction is a brcond-like instruction 
  (which has a predicate operand), not a br_cc-like instruction (which does not have a predicate operand). 
- As far as I can see, no generic method is available to insert a predicate generating instruction that will 
   replace the br_cc instruction. 

Is that correct? 

If so, what would be the best place in the code to implement and invoke functionality for inserting such an 
instruction?

Thanks,

Bjorn De Sutter
Computer Systems Lab
Ghent University








More information about the llvm-dev mailing list