[llvm-commits] [llvm] r99355 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Jim Grosbach
grosbach at apple.com
Tue Mar 23 17:03:13 PDT 2010
Author: grosbach
Date: Tue Mar 23 19:03:13 2010
New Revision: 99355
URL: http://llvm.org/viewvc/llvm-project?rev=99355&view=rev
Log:
try being more permissive for if-conversion on ARM V7. see what the nightly
test run permformance numbers say as to whether it helps.
Modified:
llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=99355&r1=99354&r2=99355&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Tue Mar 23 19:03:13 2010
@@ -40,12 +40,18 @@
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/ADT/VectorExtras.h"
+#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <sstream>
using namespace llvm;
+static cl::opt<bool>
+aggressiveV7IfConvert("arm-aggressive-v7-ifcvt", cl::Hidden,
+ cl::desc("Enable more liberal if-converstion for v7"),
+ cl::init(false));
+
static bool CC_ARM_APCS_Custom_f64(unsigned &ValNo, EVT &ValVT, EVT &LocVT,
CCValAssign::LocInfo &LocInfo,
ISD::ArgFlagsTy &ArgFlags,
@@ -456,6 +462,9 @@
// Generic (and overly aggressive) if-conversion limits.
setIfCvtBlockSizeLimit(10);
setIfCvtDupBlockSizeLimit(2);
+ } else if (aggressiveV7IfConvert && Subtarget->hasV7Ops()) {
+ setIfCvtBlockSizeLimit(3);
+ setIfCvtDupBlockSizeLimit(1);
} else if (Subtarget->hasV6Ops()) {
setIfCvtBlockSizeLimit(2);
setIfCvtDupBlockSizeLimit(1);
More information about the llvm-commits
mailing list