mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
[AArch64] Disable complex GEP optimization by default.
Enough concerns were raised that this optimization is pessimising some code patterns. The obvious fix, to add a Reassociate run afterwards, causes even more pessimisation in some cases due to fewer complex addressing modes being matched. As there isn't a trivial fix for this, backing this out by default until someone gets a chance to fix the addressing mode matcher. llvm-svn: 235491
This commit is contained in:
parent
ae34e5b3f0
commit
ffea00f649
@ -85,7 +85,7 @@ EnableA53Fix835769("aarch64-fix-cortex-a53-835769", cl::Hidden,
|
|||||||
static cl::opt<bool>
|
static cl::opt<bool>
|
||||||
EnableGEPOpt("aarch64-gep-opt", cl::Hidden,
|
EnableGEPOpt("aarch64-gep-opt", cl::Hidden,
|
||||||
cl::desc("Enable optimizations on complex GEPs"),
|
cl::desc("Enable optimizations on complex GEPs"),
|
||||||
cl::init(true));
|
cl::init(false));
|
||||||
|
|
||||||
// FIXME: Unify control over GlobalMerge.
|
// FIXME: Unify control over GlobalMerge.
|
||||||
static cl::opt<cl::boolOrDefault>
|
static cl::opt<cl::boolOrDefault>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; RUN: llc -O3 -verify-machineinstrs %s -o - | FileCheck %s
|
; RUN: llc -O3 -aarch64-gep-opt=true -verify-machineinstrs %s -o - | FileCheck %s
|
||||||
; RUN: llc -O3 -print-after=codegenprepare -mcpu=cyclone < %s >%t 2>&1 && FileCheck --check-prefix=CHECK-NoAA <%t %s
|
; RUN: llc -O3 -aarch64-gep-opt=true -print-after=codegenprepare -mcpu=cyclone < %s >%t 2>&1 && FileCheck --check-prefix=CHECK-NoAA <%t %s
|
||||||
; RUN: llc -O3 -print-after=codegenprepare -mcpu=cortex-a53 < %s >%t 2>&1 && FileCheck --check-prefix=CHECK-UseAA <%t %s
|
; RUN: llc -O3 -aarch64-gep-opt=true -print-after=codegenprepare -mcpu=cortex-a53 < %s >%t 2>&1 && FileCheck --check-prefix=CHECK-UseAA <%t %s
|
||||||
target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
|
target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
|
||||||
target triple = "aarch64-linux-gnueabi"
|
target triple = "aarch64-linux-gnueabi"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user