search for: getmvtalignment

Displaying 3 results from an estimated 3 matches for "getmvtalignment".

2008 Sep 12
0
[LLVMdev] Alignment of constant loads
...f32 types, are not aligned to the preferred alignment but rather to the ABI alignment, at least on x86. This seems to stem from SelectionDAG::getLoad() being called with an alignment of 0, which then does: if (Alignment == 0) // Ensure that codegen never sees alignment 0 Alignment = getMVTAlignment(VT); Inside getMVTAlignment, the ABI alignment is retrieved for the given VT. It appears that constants are already aligned to the preferred alignment, given this code in ScheduleDAG::AddOperand(): } else if (ConstantPoolSDNode *CP = dyn_cast<ConstantPoolSDNode>(Op)) { [...]...
2008 Sep 13
2
[LLVMdev] Alignment of constant loads
...d and ABI. I guess you're using a target with a lower ABI alignment for vectors? > This seems to stem from SelectionDAG::getLoad() being > called with an alignment of 0, which then does: > > if (Alignment == 0) // Ensure that codegen never sees alignment 0 > Alignment = getMVTAlignment(VT); > > Inside getMVTAlignment, the ABI alignment is retrieved for the given VT. > > It appears that constants are already aligned to the preferred > alignment, given this code in ScheduleDAG::AddOperand(): > > } else if (ConstantPoolSDNode *CP = > dyn_cast<ConstantPo...
2009 Feb 18
2
[LLVMdev] Possible error in LegalizeDAG
...1 = Result.getOperand(0); Tmp2 = Result.getOperand(1); Tmp1 = LegalizeOp(Tmp1); Tmp2 = LegalizeOp(Tmp2); } } This is from LegalizeDAG.cpp:2146 The problem that I see is that LD->getAlignment() is set via the call getMVTAlignment(VT) in SelectionDAG.cpp:3385, which in turn calls TLI.getTargetData()->getABITypeAlignment(Ty). So, the statement if (LD->getALignment() < ABIAlignment) always fails from what I can see. Even if I set in my DataLayout that i8 should have a 32bit ABI alignment, this does not work becaus...