[LLVMdev] How to prevent an instruction to be executed more than once?

Xinfinity xinfinity_a at yahoo.com
Mon Feb 7 03:17:50 PST 2011


As I have seen in the CodeGen phase there is the tail duplication step which
duplicates all my inlined asm. However, tail duplication checks for each
machine instruction if the description allows duplication or not. 

/// isNotDuplicable - Return true if this instruction cannot be safely
00363   /// duplicated.  For example, if the instruction has a unique labels
attached
00364   /// to it, duplicating it would cause multiple definition errors.
00365   bool isNotDuplicable() const {
00366     return Flags & (1 << TID::NotDuplicable);
00367   }

Is there a way to mark my instructions as not duplicable and to propagate
this description till the machine instruction level? What is the "unique
label" attached to an instruction?

Thanks.

Alexandra.
-- 
View this message in context: http://old.nabble.com/How-to-prevent-an-instruction-to-be-executed-more-than-once--tp28981639p30862596.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.




More information about the llvm-dev mailing list