mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-21 06:30:16 +00:00
Add a flag to disable the ARM64DeadRegisterDefinitionsPass
This patch adds a -arm64-dead-def-elimination flag so that it is possible to disable dead definition elimination. Includes test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206207 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b1138a1313
commit
27539d46cc
@ -39,6 +39,14 @@ EnableCollectLOH("arm64-collect-loh", cl::Hidden,
|
||||
" optimization hints (LOH)"),
|
||||
cl::init(true));
|
||||
|
||||
static cl::opt<bool>
|
||||
EnableDeadRegisterElimination("arm64-dead-def-elimination", cl::Hidden,
|
||||
cl::desc("Enable the pass that removes dead"
|
||||
" definitons and replaces stores to"
|
||||
" them with stores to the zero"
|
||||
" register"),
|
||||
cl::init(true));
|
||||
|
||||
extern "C" void LLVMInitializeARM64Target() {
|
||||
// Register the target.
|
||||
RegisterTargetMachine<ARM64TargetMachine> X(TheARM64Target);
|
||||
@ -135,7 +143,8 @@ bool ARM64PassConfig::addPreRegAlloc() {
|
||||
|
||||
bool ARM64PassConfig::addPostRegAlloc() {
|
||||
// Change dead register definitions to refer to the zero register.
|
||||
addPass(createARM64DeadRegisterDefinitions());
|
||||
if (EnableDeadRegisterElimination)
|
||||
addPass(createARM64DeadRegisterDefinitions());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
16
test/CodeGen/ARM64/arm64-dead-def-elimination-flag.ll
Normal file
16
test/CodeGen/ARM64/arm64-dead-def-elimination-flag.ll
Normal file
@ -0,0 +1,16 @@
|
||||
; RUN: llc -march=arm64 -arm64-dead-def-elimination=false < %s | FileCheck %s
|
||||
|
||||
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
|
||||
target triple = "arm64-apple-ios7.0.0"
|
||||
|
||||
; Function Attrs: nounwind ssp uwtable
|
||||
define i32 @test1() #0 {
|
||||
%tmp1 = alloca i8
|
||||
%tmp2 = icmp eq i8* %tmp1, null
|
||||
%tmp3 = zext i1 %tmp2 to i32
|
||||
|
||||
ret i32 %tmp3
|
||||
|
||||
; CHECK-LABEL: test1
|
||||
; CHECK: adds {{x[0-9]+}}, sp, #15
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user