[LLVMdev] Thumb categorizing TST wrongly

Bill Wendling wendling at apple.com
Thu Sep 16 11:32:12 PDT 2010


On Sep 14, 2010, at 1:46 PM, Eric Christopher wrote:

> 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).
> 
Semi-intentional oversight. :-) I was more interested in Thumb2 and ARM.

-bw






More information about the llvm-dev mailing list