llvm.org GIT mirror llvm / 77838f9
Enable generating PPC pre-increment (r+imm) instructions by default. It seems that this no longer causes test suite failures on PPC64 (after r157159), and often gives a performance benefit, so it can be enabled by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157911 91177308-0d34-0410-b5e6-96231b3b80d8 Hal Finkel 8 years ago
3 changed file(s) with 6 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
5050 ISD::ArgFlagsTy &ArgFlags,
5151 CCState &State);
5252
53 static cl::opt EnablePPCPreinc("enable-ppc-preinc",
54 cl::desc("enable preincrement load/store generation on PPC (experimental)"),
55 cl::Hidden);
53 static cl::opt DisablePPCPreinc("disable-ppc-preinc",
54 cl::desc("disable preincrement load/store generation on PPC"), cl::Hidden);
5655
5756 static TargetLoweringObjectFile *CreateTLOF(const PPCTargetMachine &TM) {
5857 if (TM.getSubtargetImpl()->isDarwin())
10831082 SDValue &Offset,
10841083 ISD::MemIndexedMode &AM,
10851084 SelectionDAG &DAG) const {
1086 // Disabled by default for now.
1087 if (!EnablePPCPreinc) return false;
1085 if (DisablePPCPreinc) return false;
10881086
10891087 SDValue Ptr;
10901088 EVT VT;
None ; RUN: llc < %s -march=ppc32 -enable-ppc-preinc | \
0 ; RUN: llc < %s -march=ppc32 | \
11 ; RUN: not grep addi
2 ; RUN: llc < %s -march=ppc64 -enable-ppc-preinc | \
2 ; RUN: llc < %s -march=ppc64 | \
33 ; RUN: not grep addi
44
55 @Glob = global i64 4
None ; RUN: llc -enable-ppc-preinc < %s | FileCheck %s
0 ; RUN: llc < %s | FileCheck %s
11 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"
22 target triple = "powerpc64-unknown-linux-gnu"
33