|
[Turbofan] Add concept of FP register aliasing on ARM 32.
- Modifies RegisterConfiguration to specify complex aliasing on ARM 32.
- Modifies RegisterAllocator to consider aliasing.
- Modifies ParallelMove::PrepareInsertAfter to handle aliasing.
- Modifies GapResolver to split wider register moves when interference
with smaller moves is detected.
- Modifies MoveOptimizer to handle aliasing.
- Adds ARM 32 macro-assembler pseudo move instructions to handle cases where
split moves don't correspond to actual s-registers.
- Modifies CodeGenerator::AssembleMove and AssembleSwap to handle moves of
different widths, and moves involving pseudo-s-registers.
- Adds unit tests for FP operand interference checking and PrepareInsertAfter.
- Adds more tests of FP for the move optimizer and register allocator.
LOG=N
BUG= v8:4124
Committed: https://crrev.com/09ab8e6ad9440d15f3083a44ca0c1ab3ae84a036
Cr-Commit-Position: refs/heads/master@{#40597}
Total comments: 20
Total comments: 24
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1209 lines, -288 lines) |
Patch |
|
M |
src/arm/macro-assembler-arm.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+63 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm/code-generator-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
21 chunks |
+128 lines, -83 lines |
0 comments
|
Download
|
|
M |
src/compiler/gap-resolver.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+11 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/compiler/gap-resolver.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+162 lines, -27 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
7 chunks |
+19 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+43 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/compiler/move-optimizer.cc
|
View
|
1
2
3
4
5
6
7
8
|
11 chunks |
+89 lines, -23 lines |
0 comments
|
Download
|
|
M |
src/compiler/register-allocator.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
4 chunks |
+21 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/register-allocator.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
21 chunks |
+198 lines, -44 lines |
0 comments
|
Download
|
|
M |
src/compiler/wasm-linkage.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/machine-type.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/register-configuration.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
3 chunks |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/register-configuration.cc
|
View
|
|
4 chunks |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/zone/zone-allocator.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-gap-resolver.cc
|
View
|
|
5 chunks |
+144 lines, -9 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-run-native-calls.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/unittests/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/instruction-sequence-unittest.h
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/instruction-sequence-unittest.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+1 line, -5 lines |
0 comments
|
Download
|
|
A |
test/unittests/compiler/instruction-unittest.cc
|
View
|
23
24
25
|
1 chunk |
+175 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/move-optimizer-unittest.cc
|
View
|
1
2
3
|
9 chunks |
+99 lines, -20 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/register-allocator-unittest.cc
|
View
|
|
1 chunk |
+8 lines, -7 lines |
0 comments
|
Download
|
|
M |
test/unittests/register-configuration-unittest.cc
|
View
|
|
4 chunks |
+8 lines, -11 lines |
0 comments
|
Download
|
|
M |
test/unittests/unittests.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 113 (92 generated)
|