mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user