summaryrefslogtreecommitdiff
path: root/compiler/optimizing/codegen_test_utils.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2017-10-09 13:19:22 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-10-09 13:19:22 +0000
commit9a99e3cee2877ea851296d198e82ca9a1da2c9d9 (patch)
treed35def7e438000fd90e8422488ad950d21824751 /compiler/optimizing/codegen_test_utils.h
parent6d8af4b7e7b8733ccd3b6453fed9eba330b1ca22 (diff)
parent5eeba2f9d741d8dd0fd306bd7879d41ddf52ad2e (diff)
Merge "Use ScopedArenaAllocator for register allocation." am: 0967cd9486
am: 5eeba2f9d7 Change-Id: I115e1976e0c3f7e7dbba46f0a287d033cb0c7189
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
-rw-r--r--compiler/optimizing/codegen_test_utils.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler/optimizing/codegen_test_utils.h b/compiler/optimizing/codegen_test_utils.h
index 5f4593ff0e4..bcbcc12349a 100644
--- a/compiler/optimizing/codegen_test_utils.h
+++ b/compiler/optimizing/codegen_test_utils.h
@@ -295,10 +295,15 @@ static void RunCodeNoCheck(CodeGenerator* codegen,
const std::function<void(HGraph*)>& hook_before_codegen,
bool has_result,
Expected expected) {
- SsaLivenessAnalysis liveness(graph, codegen);
- PrepareForRegisterAllocation(graph).Run();
- liveness.Analyze();
- RegisterAllocator::Create(graph->GetAllocator(), codegen, liveness)->AllocateRegisters();
+ {
+ ScopedArenaAllocator local_allocator(graph->GetArenaStack());
+ SsaLivenessAnalysis liveness(graph, codegen, &local_allocator);
+ PrepareForRegisterAllocation(graph).Run();
+ liveness.Analyze();
+ std::unique_ptr<RegisterAllocator> register_allocator =
+ RegisterAllocator::Create(&local_allocator, codegen, liveness);
+ register_allocator->AllocateRegisters();
+ }
hook_before_codegen(graph);
InternalCodeAllocator allocator;
codegen->Compile(&allocator);