Add an option to make SetCC illegal as a beta option
authorNate Begeman <natebegeman@mac.com>
Tue, 23 Aug 2005 05:42:36 +0000 (05:42 +0000)
committerNate Begeman <natebegeman@mac.com>
Tue, 23 Aug 2005 05:42:36 +0000 (05:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22979 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelLowering.cpp

index 8271bca3d7e8add28e502ede0ff1f4a2a6ccc82e..11445a82dd06cbc9f01c6cbe216ab64ad3277565 100644 (file)
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/SelectionDAG.h"
 #include "llvm/Function.h"
+#include "llvm/Support/CommandLine.h"
 
 using namespace llvm;
 
+namespace llvm {
+  cl::opt<bool> SetCCIllegal("-ppc-setcc-is-illegal", cl::Hidden,
+                             cl::desc("Make ISD::SETCC illegal on PowerPC"));
+}
+
 PPC32TargetLowering::PPC32TargetLowering(TargetMachine &TM)
   : TargetLowering(TM) {
     
@@ -78,6 +84,10 @@ PPC32TargetLowering::PPC32TargetLowering(TargetMachine &TM)
   setOperationAction(ISD::SINT_TO_FP, MVT::i32, Expand);
   setOperationAction(ISD::UINT_TO_FP, MVT::i32, Expand);
 
+  // PowerPC does not have SETCC
+  if (SetCCIllegal)
+    setOperationAction(ISD::SETCC, MVT::i32, Expand);
+  
   setSetCCResultContents(ZeroOrOneSetCCResult);
   addLegalFPImmediate(+0.0); // Necessary for FSEL
   addLegalFPImmediate(-0.0); //