The clang driver updates needed to support Hexagon's Linux ABI.
This builds on what was added by https://reviews.llvm.org/rG7fee4fed4c75c13d0cec7ff3a043e0313a3abc55
Paths
| Differential D75638
[Hexagon] Support for Linux/Musl ABI. ClosedPublic Authored by sidneym on Mar 4 2020, 12:48 PM.
Details Summary The clang driver updates needed to support Hexagon's Linux ABI. This builds on what was added by https://reviews.llvm.org/rG7fee4fed4c75c13d0cec7ff3a043e0313a3abc55
Diff Detail
Event TimelineComment Actions In general, I recommend qualifying metric and threshold values with their associated units: bits, bytes, pages, etc. That way it's easy to see where the unit conversions are happening and easy to see whether the logic is correct without reasoning about how the value changes among lines. Constants specified by the ABI should be designated with names and units [unless maybe this conflicts w/llvm project naming conventions?]
Comment Actions
@sidneym is this just pulling existing contents downstream to go upstream? If so let's expedite this please Comment Actions I'm not sure if it's worth defining these macros especially if this is the only place where they are used. We'd need a more coordinated effort to replace all 32's with named constants where it refers to a register size, and I'm not even sure if we could classify whether a given 32 is tied to a register size or not. This revision is now accepted and ready to land.Mar 25 2020, 12:47 PM Closed by commit rGb0da09498394: [Hexagon] Add support for Linux/Musl ABI (part 2) (authored by sidneym). · Explain WhyMar 26 2020, 3:47 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 253000 clang/include/clang/Basic/TargetInfo.h
clang/lib/AST/ASTContext.cpp
clang/lib/Basic/Targets/Hexagon.h
clang/lib/CodeGen/TargetInfo.cpp
clang/test/CodeGen/hexagon-linux-vararg.c
|
This 64 should probably be named something like HEXAGON_REGISTER_SIZE_BITS_MAX?