[PATCH] Improve big-endian support for ARM and AArch64
charlie.turner at arm.com
Tue Sep 30 05:31:29 PDT 2014
> ** First, the processes-relocations.ll file shouldn't have all archs, since some bots only build one or two back-ends:
> So, an XFAIL on hexagon is probably a good idea.
I now realize why hexagon was omitted from the original chain of if/else comparisons. I thought it was probably an oversight, but it doesn't make sense to add a test for this target, since there's no object emission. I have updated my refactoring to not handle the hexagon case, since it's not handled in the original code.
> ** Second, Windows machines failed, since they don't support Dwarf:
> Eric hinted to look at nearby tests and make sure to follow the same pattern.
My test (processes-relocations.ll) appears to have passed from that link's build log (http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/6585/steps/test_all/logs/stdio)
PASS: LLVM :: DebugInfo/processes-relocations.ll (14176 of 19516)
I have noted that in each arch-specific subdir, there are tests assuming dwarf emission, and they're not using %llc_dwarf since they want to pass their own -mtriple.
> ** Third, i686 has an error::
That failed because you removed the -mtriple argument to llc (the -linux part forces ELF IIUC), which caused llc to default to COFF emission.
> Though, i386 works, at least on FreeBSD (where XFAIL i386 actually passes):
As before, the -mtriple was removed from the invocation. The reason this one passed is because ELF is the default on a FreeBSD host, whereas the i686 above defaulted to COFF, since it was Cygwin host.
> A better alternative is to split that test into multiple files, one on each arch's directory (at least ARM, AArch64 and x86_64).
The attached patch does this for all the architectures dealt with in my refactoring. I can provide the next two patches of the original set if this one is OK.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 18217 bytes
Desc: not available
More information about the llvm-commits