• bbudge's avatar
    [Turbofan] Add concept of FP register aliasing on ARM 32. · 09ab8e6a
    bbudge authored
    - 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
    
    Review-Url: https://codereview.chromium.org/2410673002
    Cr-Commit-Position: refs/heads/master@{#40597}
    09ab8e6a
Name
Last commit
Last update
..
c-signature.h Loading commit data...
call-tester.h Loading commit data...
code-assembler-tester.h Loading commit data...
codegen-tester.cc Loading commit data...
codegen-tester.h Loading commit data...
function-tester.cc Loading commit data...
function-tester.h Loading commit data...
graph-builder-tester.h Loading commit data...
test-basic-block-profiler.cc Loading commit data...
test-branch-combine.cc Loading commit data...
test-code-assembler.cc Loading commit data...
test-gap-resolver.cc Loading commit data...
test-graph-visualizer.cc Loading commit data...
test-instruction.cc Loading commit data...
test-js-constant-cache.cc Loading commit data...
test-js-context-specialization.cc Loading commit data...
test-js-typed-lowering.cc Loading commit data...
test-jump-threading.cc Loading commit data...
test-linkage.cc Loading commit data...
test-loop-analysis.cc Loading commit data...
test-loop-assignment-analysis.cc Loading commit data...
test-machine-operator-reducer.cc Loading commit data...
test-multiple-return.cc Loading commit data...
test-node.cc Loading commit data...
test-operator.cc Loading commit data...
test-representation-change.cc Loading commit data...
test-run-bytecode-graph-builder.cc Loading commit data...
test-run-calls-to-external-references.cc Loading commit data...
test-run-deopt.cc Loading commit data...
test-run-inlining.cc Loading commit data...
test-run-intrinsics.cc Loading commit data...
test-run-jsbranches.cc Loading commit data...
test-run-jscalls.cc Loading commit data...
test-run-jsexceptions.cc Loading commit data...
test-run-jsobjects.cc Loading commit data...
test-run-jsops.cc Loading commit data...
test-run-load-store.cc Loading commit data...
test-run-machops.cc Loading commit data...
test-run-native-calls.cc Loading commit data...
test-run-stackcheck.cc Loading commit data...
test-run-stubs.cc Loading commit data...
test-run-unwinding-info.cc Loading commit data...
test-run-variables.cc Loading commit data...
test-run-wasm-machops.cc Loading commit data...
value-helper.h Loading commit data...