[llvm-commits] [dragonegg] r149691 -	/dragonegg/trunk/src/Convert.cpp
    Duncan Sands 
    baldrick at free.fr
       
    Fri Feb  3 05:08:36 PST 2012
    
    
  
Author: baldrick
Date: Fri Feb  3 07:08:36 2012
New Revision: 149691
URL: http://llvm.org/viewvc/llvm-project?rev=149691&view=rev
Log:
The GCC optimizers can create COND_EXPR nodes where the result type differs
from the operand type, but only trivially.
Modified:
    dragonegg/trunk/src/Convert.cpp
Modified: dragonegg/trunk/src/Convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Convert.cpp?rev=149691&r1=149690&r2=149691&view=diff
==============================================================================
--- dragonegg/trunk/src/Convert.cpp (original)
+++ dragonegg/trunk/src/Convert.cpp Fri Feb  3 07:08:36 2012
@@ -2325,7 +2325,8 @@
   FalseVal = TriviallyTypeConvert(FalseVal, TrueVal->getType());
 
   // Select the value to use based on the condition.
-  return Builder.CreateSelect(CondVal, TrueVal, FalseVal);
+  Value *Result = Builder.CreateSelect(CondVal, TrueVal, FalseVal);
+  return TriviallyTypeConvert(Result, getRegType(TREE_TYPE(exp)));
 }
 
 Value *TreeToLLVM::EmitOBJ_TYPE_REF(tree exp) {
    
    
More information about the llvm-commits
mailing list