[llvm-commits] [dragonegg] r90227 - in /dragonegg/trunk: llvm-convert.cpp llvm-internal.h

Duncan Sands baldrick at free.fr
Tue Dec 1 03:09:24 PST 2009


Author: baldrick
Date: Tue Dec  1 05:09:24 2009
New Revision: 90227

URL: http://llvm.org/viewvc/llvm-project?rev=90227&view=rev
Log:
Make REALPART_EXPR and IMAGPART_EXPR go via lvalues, like all other
expressions of class tcc_reference.

Modified:
    dragonegg/trunk/llvm-convert.cpp
    dragonegg/trunk/llvm-internal.h

Modified: dragonegg/trunk/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-convert.cpp?rev=90227&r1=90226&r2=90227&view=diff

==============================================================================
--- dragonegg/trunk/llvm-convert.cpp (original)
+++ dragonegg/trunk/llvm-convert.cpp Tue Dec  1 05:09:24 2009
@@ -1185,14 +1185,13 @@
   case ARRAY_RANGE_REF:
   case BIT_FIELD_REF:
   case COMPONENT_REF:
+  case IMAGPART_EXPR:
   case INDIRECT_REF:
+  case REALPART_EXPR:
   case VIEW_CONVERT_EXPR:
     Result = EmitLoadOfLValue(exp, DestLoc);
     break;
 
-  case REALPART_EXPR: Result = EmitXXXXPART_EXPR(exp, 0); break;
-  case IMAGPART_EXPR: Result = EmitXXXXPART_EXPR(exp, 1); break;
-
   // Declarations (tcc_declaration).
   case PARM_DECL:
   case RESULT_DECL:
@@ -3590,10 +3589,6 @@
   return Builder.CreateBitCast(GEP, ConvertType(type));
 }
 
-Value *TreeToLLVM::EmitXXXXPART_EXPR(tree exp, unsigned Idx) {
-  return Builder.CreateExtractValue(Emit(TREE_OPERAND(exp, 0), 0), Idx);
-}
-
 Value *TreeToLLVM::EmitPAREN_EXPR(tree op) {
   // TODO: Understand and correctly deal with this subtle expression.
   return EmitGimpleReg(op);

Modified: dragonegg/trunk/llvm-internal.h
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-internal.h?rev=90227&r1=90226&r2=90227&view=diff

==============================================================================
--- dragonegg/trunk/llvm-internal.h (original)
+++ dragonegg/trunk/llvm-internal.h Tue Dec  1 05:09:24 2009
@@ -658,7 +658,6 @@
   Value *EmitROUND_DIV_EXPR(tree_node *type, tree_node *op0, tree_node *op1);
   Value *EmitFieldAnnotation(Value *FieldPtr, tree_node *FieldDecl);
   Value *EmitPOINTER_PLUS_EXPR(tree_node *type, tree_node *op0, tree_node *op1);
-  Value *EmitXXXXPART_EXPR(tree_node *exp, unsigned Idx);
   Value *EmitPAREN_EXPR(tree_node *exp);
 
   // Exception Handling.





More information about the llvm-commits mailing list