search for: numdups2

Displaying 2 results from an estimated 2 matches for "numdups2".

2017 Oct 09
4
{ARM} IfConversion does not detect BX instruction as a branch
...%R7<kill>, 4, pred:1, pred:%CPSR<kill>; mem:ST4[%__size_.i3.i.i.i.i] > %R6<def> = LDRrs %R4, %R6<kill>, 16386, pred:14, pred:%noreg; mem:LD4[%0] > BX %R6<kill> Inside the _IfConvertDiamondCommon(...)_ function of IfConversion.cpp, the function is called with _NumDups2=1_, which makes sense because BB#8 and BB#9 share the same _LDRrs_ instruction with the same operands. The problem is the call to _TTI->removeBranch(...)_ function that does not remove the _BX_ instruction. Thus, when removing the common instructions, the _BX_ is removed instead of the _LDRs_ in...
2017 Oct 11
2
{ARM} IfConversion does not detect BX instruction as a branch
...pred:%CPSR<kill>; > mem:ST4[%__size_.i3.i.i.i.i] > %R6<def> = LDRrs %R4, %R6<kill>, 16386, pred:14, pred:%noreg; > mem:LD4[%0] > BX %R6<kill> > > Inside the *IfConvertDiamondCommon(...)* function of IfConversion.cpp, > the function is called with *NumDups2=1*, which makes sense because BB#8 > and BB#9 share the same *LDRrs* instruction with the same operands. The > problem is the call to *TTI->removeBranch(...)* function that does not > remove the *BX* instruction. Thus, when removing the common instructions, > the *BX* is removed inst...