[llvm-commits] CVS: llvm/lib/Target/CBackend/Writer.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Mar 11 23:53:16 PST 2004


Changes in directory llvm/lib/Target/CBackend:

Writer.cpp updated: 1.165 -> 1.166

---
Log message:

ADd support for select instructions


---
Diffs of the changes:  (+12 -0)

Index: llvm/lib/Target/CBackend/Writer.cpp
diff -u llvm/lib/Target/CBackend/Writer.cpp:1.165 llvm/lib/Target/CBackend/Writer.cpp:1.166
--- llvm/lib/Target/CBackend/Writer.cpp:1.165	Thu Feb 26 16:20:58 2004
+++ llvm/lib/Target/CBackend/Writer.cpp	Thu Mar 11 23:52:14 2004
@@ -140,6 +140,7 @@
     void visitBinaryOperator(Instruction &I);
 
     void visitCastInst (CastInst &I);
+    void visitSelectInst(SelectInst &I);
     void visitCallInst (CallInst &I);
     void visitCallSite (CallSite CS);
     void visitShiftInst(ShiftInst &I) { visitBinaryOperator(I); }
@@ -1184,6 +1185,17 @@
   
   writeOperand(I.getOperand(0));
 }
+
+void CWriter::visitSelectInst(SelectInst &I) {
+  Out << "((";
+  writeOperand(I.getCondition());
+  Out << ") ? (";
+  writeOperand(I.getTrueValue());
+  Out << ") : (";
+  writeOperand(I.getFalseValue());
+  Out << "))";    
+}
+
 
 void CWriter::lowerIntrinsics(Module &M) {
   for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F)





More information about the llvm-commits mailing list