[LLVMdev] Thumb categorizing TST wrongly

Eric Christopher echristo at apple.com
Tue Sep 14 13:46:48 PDT 2010


On Sep 14, 2010, at 12:09 PM, Gabor Greif wrote:

> I see strangeness on Thumb TST (tTST) predicate 'isCompare'
> 
> It is true for regular ARM, false for Thumb:
> 
> (gdb) p MI->dump()
>   TSTri %reg16397, 3, pred:14, pred:%reg0, %CPSR<imp-def>; GPR:% 
> reg16397
> $24 = void
> (gdb) p MI->getDesc().isCompare()
> $25 = true
> 
> 
> (gdb) p MI->dump()
>   tTST %reg16396, %reg16397, pred:14, pred:%reg0, %CPSR<imp-def>;  
> tGPR:%reg16396,16397
> $22 = void
> (gdb) p MI->getDesc().isCompare()
> $23 = false
> 
> 
> Is this intentional or just an oversight? In latter case how do I fix  
> it? Tablegen input?

Oversight I think, and it needs to be fixed with isCompare around the relevant patterns (ARM mode doesn't see this since isCompare is in the multiclass).

-eric



More information about the llvm-dev mailing list