diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-03-12 05:52:14 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-03-12 05:52:14 +0000 |
| commit | 65a64e1e7a3cb59c7dfbbf643768d1055e6d1a3e (patch) | |
| tree | 857d59f614ac0031d12581574fc5a179c934dd2e /llvm/lib/Target/CBackend/Writer.cpp | |
| parent | e7c9f6f7ae565c8094c6927004a5b6cef9513421 (diff) | |
| download | bcm5719-llvm-65a64e1e7a3cb59c7dfbbf643768d1055e6d1a3e.tar.gz bcm5719-llvm-65a64e1e7a3cb59c7dfbbf643768d1055e6d1a3e.zip | |
ADd support for select instructions
llvm-svn: 12316
Diffstat (limited to 'llvm/lib/Target/CBackend/Writer.cpp')
| -rw-r--r-- | llvm/lib/Target/CBackend/Writer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/CBackend/Writer.cpp b/llvm/lib/Target/CBackend/Writer.cpp index 396cc694da6..e78eef66831 100644 --- a/llvm/lib/Target/CBackend/Writer.cpp +++ b/llvm/lib/Target/CBackend/Writer.cpp @@ -140,6 +140,7 @@ namespace { 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); } @@ -1185,6 +1186,17 @@ void CWriter::visitCastInst(CastInst &I) { 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) for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) |

