forked from OSchip/llvm-project
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. llvm-svn: 157911
This commit is contained in:
parent
5bee25884b
commit
595817eebe
|
@ -51,9 +51,8 @@ static bool CC_PPC_SVR4_Custom_AlignFPArgRegs(unsigned &ValNo, MVT &ValVT,
|
|||
ISD::ArgFlagsTy &ArgFlags,
|
||||
CCState &State);
|
||||
|
||||
static cl::opt<bool> EnablePPCPreinc("enable-ppc-preinc",
|
||||
cl::desc("enable preincrement load/store generation on PPC (experimental)"),
|
||||
cl::Hidden);
|
||||
static cl::opt<bool> DisablePPCPreinc("disable-ppc-preinc",
|
||||
cl::desc("disable preincrement load/store generation on PPC"), cl::Hidden);
|
||||
|
||||
static TargetLoweringObjectFile *CreateTLOF(const PPCTargetMachine &TM) {
|
||||
if (TM.getSubtargetImpl()->isDarwin())
|
||||
|
@ -1084,8 +1083,7 @@ bool PPCTargetLowering::getPreIndexedAddressParts(SDNode *N, SDValue &Base,
|
|||
SDValue &Offset,
|
||||
ISD::MemIndexedMode &AM,
|
||||
SelectionDAG &DAG) const {
|
||||
// Disabled by default for now.
|
||||
if (!EnablePPCPreinc) return false;
|
||||
if (DisablePPCPreinc) return false;
|
||||
|
||||
SDValue Ptr;
|
||||
EVT VT;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
; RUN: llc < %s -march=ppc32 -enable-ppc-preinc | \
|
||||
; RUN: llc < %s -march=ppc32 | \
|
||||
; RUN: not grep addi
|
||||
; RUN: llc < %s -march=ppc64 -enable-ppc-preinc | \
|
||||
; RUN: llc < %s -march=ppc64 | \
|
||||
; RUN: not grep addi
|
||||
|
||||
@Glob = global i64 4
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: llc -enable-ppc-preinc < %s | FileCheck %s
|
||||
; RUN: llc < %s | FileCheck %s
|
||||
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"
|
||||
target triple = "powerpc64-unknown-linux-gnu"
|
||||
|
||||
|
|
Loading…
Reference in New Issue