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: