search for: xfuncx

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

2016 Nov 21
2
Conditional jump or move depends on uninitialised value(s)
...lvm-mirror/llvm/blob/master/lib/CodeGen/DeadMachineInstructionElim.cpp#L142 Here I've refactored the code into a minimal (noinline) function that still triggers the problem. xfunc2() and xfunc3() are also noinline. The problem goes away if either isReg() or isDef() is marked noinline. void xfuncx(const MachineOperand &MO, const TargetRegisterInfo *TRI, BitVector &LivePhysRegs) { if (MO.isReg() && // <<<<------ problem reported here MO.isDef()) { xfunc2(MO, TRI, LivePhysRegs); } else { xfunc3(MO, LivePhysRegs); } } The asm is...
2016 Nov 22
2
Conditional jump or move depends on uninitialised value(s)
...since it looks only at the > lower bits. isDef() cannot be called safely because it looks at bit 25. > However it is clear that the C++ code (below) never calls isDef() when > isReg() returns false, as it does here. > > So now back to the asm: > > 0000000000000000 > <_Z6xfuncxPKN4llvm14MachineOperandEPKNS_18TargetRegisterInfoEPNS_9BitVectorE>: > > 0: b8 ff 00 00 01 mov $0x10000ff,%eax > 5: 23 07 and (%rdi),%eax > 7: 3d 00 00 00 01 cmp $0x1000000,%eax > c: 75 05 jn...