Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(628)

Unified Diff: src/compiler/register-allocator.cc

Issue 2101653003: [Turbofan] Simplify operand canonicalization on archs with simple FP aliasing. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/move-optimizer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/register-allocator.cc
diff --git a/src/compiler/register-allocator.cc b/src/compiler/register-allocator.cc
index bfda1940bd70410d14b5931b590c3db0c0a76ab8..9c8d999a7ccbc8b5f3f75348837b1c916df5a8e2 100644
--- a/src/compiler/register-allocator.cc
+++ b/src/compiler/register-allocator.cc
@@ -2070,14 +2070,17 @@ void LiveRangeBuilder::ProcessInstructions(const InstructionBlock* block,
allocation_zone());
}
}
- for (int i = 0; i < config()->num_allocatable_float_registers(); ++i) {
- int code = config()->GetAllocatableFloatCode(i);
- if (!IsOutputFPRegisterOf(instr, MachineRepresentation::kFloat32,
- code)) {
- TopLevelLiveRange* range =
- FixedFPLiveRangeFor(code, MachineRepresentation::kFloat32);
- range->AddUseInterval(curr_position, curr_position.End(),
- allocation_zone());
+ // Preserve fixed float registers on archs with non-simple aliasing.
+ if (!kSimpleFPAliasing) {
+ for (int i = 0; i < config()->num_allocatable_float_registers(); ++i) {
+ int code = config()->GetAllocatableFloatCode(i);
+ if (!IsOutputFPRegisterOf(instr, MachineRepresentation::kFloat32,
+ code)) {
+ TopLevelLiveRange* range =
+ FixedFPLiveRangeFor(code, MachineRepresentation::kFloat32);
+ range->AddUseInterval(curr_position, curr_position.End(),
+ allocation_zone());
+ }
}
}
}
« no previous file with comments | « src/compiler/move-optimizer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698