From 6683dbf32e705614e1e8474f9dd6c3244305535d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 1 Apr 2004 05:28:26 +0000 Subject: [PATCH] Add support for select constant expressions to the CBE, fixing SIOD git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12589 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/CBackend/CBackend.cpp | 9 +++++++++ lib/Target/CBackend/Writer.cpp | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 54b8bd3c19c..807f8ab92f1 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -388,6 +388,15 @@ void CWriter::printConstant(Constant *CPV) { gep_type_end(CPV)); Out << "))"; return; + case Instruction::Select: + Out << "("; + printConstant(CE->getOperand(0)); + Out << "?"; + printConstant(CE->getOperand(1)); + Out << ":"; + printConstant(CE->getOperand(2)); + Out << ")"; + return; case Instruction::Add: case Instruction::Sub: case Instruction::Mul: diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 54b8bd3c19c..807f8ab92f1 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -388,6 +388,15 @@ void CWriter::printConstant(Constant *CPV) { gep_type_end(CPV)); Out << "))"; return; + case Instruction::Select: + Out << "("; + printConstant(CE->getOperand(0)); + Out << "?"; + printConstant(CE->getOperand(1)); + Out << ":"; + printConstant(CE->getOperand(2)); + Out << ")"; + return; case Instruction::Add: case Instruction::Sub: case Instruction::Mul: