Inline calls for the following macros and delete AArch64TargetParser.def:
AARCH64_ARCH, AARCH64_CPU_NAME, AARCH64_CPU_ALIAS, AARCH64_ARCH_EXT_NAME
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
A momentous occasion :) Surprised we don't have more uses of this but that's probably because you've been fixing them too.
Please update the comment in lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s as well.
I will throw a bit of a wrench in here though.
@andrewrk I seem to remember that Zig uses these files for generating compiler options of its own? A basic search didn't show anything but we'd better check if you're using them still.
Found it. This was the llvm dev thread: https://lists.llvm.org/pipermail/llvm-dev/2020-January/138548.html
And this is the file that was being generated: https://github.com/ziglang/zig/blob/c86589a738e5053a26b2be7d156bcfee1565f00b/lib/std/target/aarch64.zig
I don't see the scripting (if any) that made it though.
And this is the file that was being generated: https://github.com/ziglang/zig/blob/c86589a738e5053a26b2be7d156bcfee1565f00b/lib/std/target/aarch64.zig
Thanks for the heads up. It looks like that file hasn't been updated for a couple of years, and doesn't include any recent features, so unless we hear otherwise from @andrewrk I think we can go ahead. If some script _is_ manually parsing the .def, it ought to be easy enough to update it to read the .cpp instead (it probably shouldn't do either).
Please update the comment in lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s as well.
I have reordered the list to be alphabetical and updated the comment, added tests for recent features that were missed (CSSC, D128, RCPC3, THE, and a few others) and used CHECK-NEXT.
If some script _is_ manually parsing the .def, it ought to be easy enough to update it to read the .cpp instead (it probably shouldn't do either).
True. Hopefully the target parser library approach will give us a nice way to query all this stuff without manual conversion.
This LGTM with the small test change done.
lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s | ||
---|---|---|
28 ↗ | (On Diff #479598) | This one always trips me up because the offset changes when I update the test. Can you move lbl to the start, or just use fn as the label, if that works? |
And thanks for bringing the test up to date in general!
(that test is less checking the disassembler, more a reference of what lldb should be capable of, though it has found some bugs)
@andrewrk I seem to remember that Zig uses these files for generating compiler options of its own? A basic search didn't show anything but we'd better check if you're using them still.
Thanks for thinking of me.
Zig uses the .td files directly, with this script: https://github.com/ziglang/zig/blob/0.10.0/tools/update_cpu_features.zig
So, in this case, unless you're changing the data layout of AArch64.td, our script will be unaffected. Even if you did change it though, it would be OK - I have no expectation for this data to be stable, and this script is run offline only when upgrading to a new LLVM version. So I fully expect to have to rewrite this script in the future.