Enables the FuseAddress feature in the Cortex-A55 scheduling model
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/AArch64/AArch64InstrFormats.td | ||
---|---|---|
3215 ↗ | (On Diff #370910) | This seems like a separate feature from adding FeatureFuseAddress for A55. ReadAdrBase seems to be for the "base resister of a reg-offset LD/ST", where as this is the base register of a imm-offset LD/ST. |
llvm/lib/Target/AArch64/AArch64InstrFormats.td | ||
---|---|---|
3215 ↗ | (On Diff #370910) | I've pulled it out of this change, and I'll push it up for review separately. |
OK. Can you add a test? Something that would schedule instructions apart before and keep them together now.
llvm/test/CodeGen/AArch64/a55-fuse-address.mir | ||
---|---|---|
2 | Should this be running a pass? -run-pass=machine-scheduler? And be updated using update_mir_test_checks? |
Updated test
llvm/test/CodeGen/AArch64/a55-fuse-address.mir | ||
---|---|---|
2 | Done. I feel like there was a reason why I didn't in the first place (i.e. it wasn't working for whatever reason), but it works now so ¯\_(ツ)_/¯ |
Thanks. The Cortex-A55 software optimization guide does mention "dedicated forwarding paths" for this case. LGTM
Should this be running a pass? -run-pass=machine-scheduler? And be updated using update_mir_test_checks?