Add stubs for setcc-branch folding support.
authorBrian Gaeke <gaeke@uiuc.edu>
Sun, 12 Dec 2004 06:01:26 +0000 (06:01 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Sun, 12 Dec 2004 06:01:26 +0000 (06:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18818 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcV8ISelSimple.cpp
lib/Target/SparcV8/SparcV8ISelSimple.cpp

index 5959c47afdfbedb0d825787dc10287330bb429a0..68bc28a0f32b6457c4919c10fa311e827bfe6d92 100644 (file)
@@ -1010,6 +1010,14 @@ static inline BasicBlock *getBlockAfter(BasicBlock *BB) {
   return I != BB->getParent()->end() ? &*I : 0;
 }
 
+/// canFoldSetCCIntoBranch - Return the setcc instruction if we can fold it
+/// into the conditional branch which is the only user of the cc instruction.
+/// This is the case if the conditional branch is the only user of the setcc.
+///
+static SetCondInst *canFoldSetCCIntoBranch(Value *V) {
+  return 0; // disable.
+}
+
 /// visitBranchInst - Handles conditional and unconditional branches.
 ///
 void V8ISel::visitBranchInst(BranchInst &I) {
@@ -1480,6 +1488,9 @@ void V8ISel::visitBinaryOperator (Instruction &I) {
 }
 
 void V8ISel::visitSetCondInst(SetCondInst &I) {
+  if (canFoldSetCCIntoBranch(&I))
+    return;  // Fold this into a branch.
+
   unsigned Op0Reg = getReg (I.getOperand (0));
   unsigned Op1Reg = getReg (I.getOperand (1));
   unsigned DestReg = getReg (I);
index 5959c47afdfbedb0d825787dc10287330bb429a0..68bc28a0f32b6457c4919c10fa311e827bfe6d92 100644 (file)
@@ -1010,6 +1010,14 @@ static inline BasicBlock *getBlockAfter(BasicBlock *BB) {
   return I != BB->getParent()->end() ? &*I : 0;
 }
 
+/// canFoldSetCCIntoBranch - Return the setcc instruction if we can fold it
+/// into the conditional branch which is the only user of the cc instruction.
+/// This is the case if the conditional branch is the only user of the setcc.
+///
+static SetCondInst *canFoldSetCCIntoBranch(Value *V) {
+  return 0; // disable.
+}
+
 /// visitBranchInst - Handles conditional and unconditional branches.
 ///
 void V8ISel::visitBranchInst(BranchInst &I) {
@@ -1480,6 +1488,9 @@ void V8ISel::visitBinaryOperator (Instruction &I) {
 }
 
 void V8ISel::visitSetCondInst(SetCondInst &I) {
+  if (canFoldSetCCIntoBranch(&I))
+    return;  // Fold this into a branch.
+
   unsigned Op0Reg = getReg (I.getOperand (0));
   unsigned Op1Reg = getReg (I.getOperand (1));
   unsigned DestReg = getReg (I);