From 3844173f6e5c2d3e309d71d8980e25cca1b9305d Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Thu, 3 Jun 2010 18:28:31 +0000 Subject: [PATCH] Revert 105308. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105399 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineCSE.cpp | 5 ++++- test/CodeGen/ARM/machine-cse-cmp.ll | 18 ------------------ 2 files changed, 4 insertions(+), 19 deletions(-) delete mode 100644 test/CodeGen/ARM/machine-cse-cmp.ll diff --git a/lib/CodeGen/MachineCSE.cpp b/lib/CodeGen/MachineCSE.cpp index d8e2ec64da8..6f4f7a88340 100644 --- a/lib/CodeGen/MachineCSE.cpp +++ b/lib/CodeGen/MachineCSE.cpp @@ -31,6 +31,9 @@ using namespace llvm; STATISTIC(NumCoalesces, "Number of copies coalesced"); STATISTIC(NumCSEs, "Number of common subexpression eliminated"); +static cl::opt CSEPhysDef("machine-cse-phys-defs", + cl::init(false), cl::Hidden); + namespace { class MachineCSE : public MachineFunctionPass { const TargetInstrInfo *TII; @@ -373,7 +376,7 @@ bool MachineCSE::ProcessBlock(MachineBasicBlock *MBB) { // ... Unless the CS is local and it also defines the physical register // which is not clobbered in between. - if (PhysDef) { + if (PhysDef && CSEPhysDef) { unsigned CSVN = VNT.lookup(MI); MachineInstr *CSMI = Exps[CSVN]; if (PhysRegDefReaches(CSMI, MI, PhysDef)) diff --git a/test/CodeGen/ARM/machine-cse-cmp.ll b/test/CodeGen/ARM/machine-cse-cmp.ll deleted file mode 100644 index c77402f3bc1..00000000000 --- a/test/CodeGen/ARM/machine-cse-cmp.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llc < %s -march=arm | FileCheck %s -;rdar://8003725 - -@G1 = external global i32 -@G2 = external global i32 - -define i32 @f1(i32 %cond1, i32 %x1, i32 %x2, i32 %x3) { -entry: -; CHECK: cmp -; CHECK: moveq -; CHECK-NOT: cmp -; CHECK: moveq - %tmp1 = icmp eq i32 %cond1, 0 - %tmp2 = select i1 %tmp1, i32 %x1, i32 %x2 - %tmp3 = select i1 %tmp1, i32 %x2, i32 %x3 - %tmp4 = add i32 %tmp2, %tmp3 - ret i32 %tmp4 -} -- 2.34.1