Displaying 3 results from an estimated 3 matches for "component_ref".
2009 Jan 09
0
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
...ype>(ATy)->getElementType();
> + unsigned Alignment = MinAlign(ArrayAlign,
> TD.getABITypeSize(ElementTy));
Why these manipulations? These happens several more times below.
> @@ -6028,8 +6063,9 @@ static unsigned getComponentRefOffsetInB
>
> LValue TreeToLLVM::EmitLV_COMPONENT_REF(tree exp) {
> LValue StructAddrLV = EmitLV(TREE_OPERAND(exp, 0));
> - tree FieldDecl = TREE_OPERAND(exp, 1);
> -
> + tree FieldDecl = TREE_OPERAND(exp, 1);
> + unsigned LVAlign = DECL_PACKED(FieldDecl) ? 1 :
> StructAddrLV.Alignment;
Can't this be expr_align(exp)?
I...
2009 Jan 09
2
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
...-2290,7 +2301,7 @@ Value *TreeToLLVM::EmitLoadOfLValue(tree
LValue LV = EmitLV(exp);
bool isVolatile = TREE_THIS_VOLATILE(exp);
const Type *Ty = ConvertType(TREE_TYPE(exp));
- unsigned Alignment = expr_align(exp) / 8;
+ unsigned Alignment = LV.getAlignment();
if (TREE_CODE(exp) == COMPONENT_REF)
if (const StructType *STy =
dyn_cast<StructType>(ConvertType(TREE_TYPE(TREE_OPERAND(exp,
0)))))
@@ -2963,7 +2974,7 @@ Value *TreeToLLVM::EmitMODIFY_EXPR(tree
LValue LV = EmitLV(lhs);
bool isVolatile = TREE_THIS_VOLATILE(lhs);
- unsigned Alignment = expr_align(lhs)...
2011 Jun 18
0
[LLVMdev] Make dragonegg work with gcc-4.6
...he tree
@@ -4692,7 +4694,9 @@
case BUILT_IN_APPLY:
case BUILT_IN_RETURN:
case BUILT_IN_SAVEREGS:
+#if (GCC_MINOR < 6)
case BUILT_IN_ARGS_INFO:
+#endif
case BUILT_IN_NEXT_ARG:
case BUILT_IN_CLASSIFY_TYPE:
case BUILT_IN_AGGREGATE_INCOMING_ADDRESS:
@@ -8497,7 +8501,9 @@
case COMPONENT_REF:
case IMAGPART_EXPR:
case INDIRECT_REF:
+#if (GCC_MINOR < 6)
case MISALIGNED_INDIRECT_REF:
+#endif
case REALPART_EXPR:
case TARGET_MEM_REF:
case VIEW_CONVERT_EXPR: