summaryrefslogtreecommitdiff
path: root/compiler/optimizing/parallel_move_test.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2024-06-20 07:15:41 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2024-06-21 09:41:32 +0000
commitc0e77cbf0ba39c1d8e59d6abeadd40cabda61620 (patch)
tree3b0b13fbf6b72564f8edd4888c176ce67ad475e4 /compiler/optimizing/parallel_move_test.cc
parent90b7adbd418ea929b73647ada2b1aa9be3bfa424 (diff)
Specify instruction format in `HInstructionBuilder`.
Even in cases where constant propagation to switch statement should reduce the inlined `Instruction::VReg{A,B,C}()` to the version with a specific format, clang++ is failing to optimize this properly. And there are builder functions that handle a known instruction format which are not inlined, so they are ineligible even if clang++ did optimize this. This simple change reduces the read/execute section in arm64 `libart.so` by almost 35KiB as seen with readelf -l [...]/libart.so | grep -E 'R E' (0x71a350 -> 0x711820). Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: Ia2d89fecef7fd8b8784fa7d6b0d2b8877501c629
Diffstat (limited to 'compiler/optimizing/parallel_move_test.cc')
0 files changed, 0 insertions, 0 deletions