Hi all,
This patch adds a big endian ARM target description.
(A corresponding target machine has been committed to llvm-commits D3095.)
Please review.
Thanks,
Christian
Paths
| Differential D3096
Add ARM big endian Target (armeb, thumbeb) ClosedPublic Authored by cpirker on Mar 17 2014, 7:23 AM.
Details
Diff Detail Event TimelineComment Actions Hi Christian, Again, just a round-the-edges review. Just a few comments:
Again, how is the testing on the AArch64 side? I think it was specifically your ARM_BE test case that I noticed didn't seem to be there on AArch64. Regards, Bernie
Comment Actions Hi Bernie, I added the ACLE predefine ARM_BIG_ENDIAN Regards, Comment Actions Ah - ARMEL and ARMEB tests were already there. Sorry, missed them the first time. I'd like some 'NOT' checks. It may be best to do these as second tests in init.c, so that you don't confine the check to the range between two matches. I'd like to see that ARM_BIG_ENDIAN and ARMEB__ are not defined in the 'arm' case, and that ARMEL is not defined in the armeb case. My question about -target armeb-none-darwin still stands (re inline comment from before). Other than those points, LGTM, with the disclaimer that I'm no expert on the various platform triples you're setting up. More generally, I think I'd like to see a CLI option to select endianness - I would prefer that as the 'user interface' over relying on another special triple name. That doesn't have to be part of this patch, though. (I haven't - yet - looked to see what other endian-bending targets do.) Comment Actions Hi Tim, I added negative tests for predefined macros in "test/Preprocessor/init.c". Thanks, Comment Actions I committed this patch as r205008.
This revision is now accepted and ready to land.May 15 2014, 6:30 AM
Revision Contents
Diff 7943 lib/Basic/Targets.cpp
lib/CodeGen/CGBuiltin.cpp
lib/CodeGen/TargetInfo.cpp
lib/Driver/ToolChain.cpp
lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp
lib/Sema/SemaChecking.cpp
test/Driver/arm-cortex-cpus.c
test/Preprocessor/init.c
|
Can I say -target armeb-none-darwin-...? What happens if I do?