[cfe-commits] [PATCH] Mark ARCMT test cases as XFAIL on ARM

David Tweed david.tweed at arm.com
Wed Sep 19 07:58:52 PDT 2012


I've just finished a build on arm with a no-arguments ./configure and I can reproduce your failures. It looks like if you use --with-abi=aapcs then it assumes that the natural platform calling convention is being used unless told otherwise (so no markers), while without it seems to have a different "default" calling convention but then decide to use the aapcs convention everywhere anyway so it has to stick an explicit convention marker on the function signature. As stated, this breaks the testing regexps (although probably the compiler actually produces working code).

My feeling is that, with regard to fixing regression test issues, it's simplest to say that if you're using an armv7l or higher, you have to specify --with-abi=aapcs when doing a build you're going to test. Possibly this ought to be mentioned in some documentation, but beyond that I think it's of less priority than looking at other issues encountered using LLVM on ARM.

(Apologies for the slow reply: building everything from scratch on a pandaboard took a while...)

-----Original Message-----
From: David Tweed [mailto:david.tweed at arm.com] 
Sent: 19 September 2012 11:00
To: '陳韋任 (Wei-Ren Chen)'
Cc: James Molloy; cfe-commits at cs.uiuc.edu
Subject: RE: [PATCH] Mark ARCMT test cases as XFAIL on ARM

Hi Wei-ren,

Could you post the configure setup you're using to build llvm/clang please? It looks like a lot of your "extra" failures are due to a function call specification


being added to function prototypes, and that's breaking regexps. I think these are "optional annotations", so I wonder what's causing your build to insert them and mine not to?

FWIW, mine is

env CC="ccache /usr/bin/gcc " CXX="ccache /usr/bin/g++ " ./configure -C --disable-bindings --build=armv7l-unknown-linux-gnueabi --host=armv7l-unknown-linux-gnueabi --target=armv7l-unknown-linux-gnueabi --with-cpu=cortex-a9 --with-fpu=neon --with-abi=aapcs --with-float=hard --enable-assertions


-----Original Message-----
From: 陳韋任 (Wei-Ren Chen) [mailto:chenwj at iis.sinica.edu.tw] 
Sent: 19 September 2012 10:01
To: David Tweed
Cc: 陳韋任 (Wei-Ren Chen); James Molloy; cfe-commits at cs.uiuc.edu
Subject: Re: [PATCH] Mark ARCMT test cases as XFAIL on ARM

  Quick question. Did you build with "--enable-optimized"?

On Wed, Sep 19, 2012 at 09:39:27AM +0100, David Tweed wrote:
> Hi,
> Here's my config:
> Linux llvmbb-debug-1 3.4.0-1-linaro-lt-omap #1~120625232503-Ubuntu SMP PREEMPT Tue Jun 26 01:25:56 UTC 2012 armv7l armv7l armv7l GNU/Linux
> g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
> GNU gold (GNU Binutils for Ubuntu 2.22) 1.11
> Full make check-all VERBOSE=1 'LIT_ARGS=-v -j 4' output attached, but the interesting bit is:
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> ********************
> Unexpected Passing Tests (2):
>     Clang :: CodeGen/2008-01-25-ByValReadNone.c
>     Clang :: CodeGenCXX/member-alignment.cpp
> ********************
> Failing Tests (18):
>     Clang :: CXX/conv/conv.prom/p2.cpp
>     Clang :: CodeGenCXX/compound-literals.cpp
>     Clang :: CodeGenCXX/devirtualize-virtual-function-calls-final.cpp
>     Clang :: CodeGenCXX/throw-expression-cleanup.cpp
>     Clang :: Driver/hello.c
>     Clang :: PCH/cxx-typeid.cpp
>     Clang :: Sema/return.c
>     Clang :: Sema/wchar.c
>     Clang :: SemaTemplate/example-dynarray.cpp
>     LLVM :: Analysis/Profiling/load-branch-weights-ifs.ll
>     LLVM :: Analysis/Profiling/load-branch-weights-loops.ll
>     LLVM :: Analysis/Profiling/load-branch-weights-switches.ll
>     LLVM :: ExecutionEngine/2002-12-16-ArgTest.ll
>     LLVM :: ExecutionEngine/test-fp-no-external-funcs.ll
>     LLVM :: ExecutionEngine/test-fp.ll
>     LLVM-Unit :: ExecutionEngine/JIT/Debug+Asserts/JITTests/JIT.GlobalInFunction
>     LLVM-Unit :: ExecutionEngine/JIT/Debug+Asserts/JITTests/JITTest.AvailableExternallyGlobalIsntEmitted
>     LLVM-Unit :: ExecutionEngine/JIT/Debug+Asserts/JITTests/JITTest.FunctionPointersOutliveTheirCreator
>   Expected Passes    : 11706
>   Expected Failures  : 101
>   Unsupported Tests  : 14
>   Unexpected Passes  : 2
>   Unexpected Failures: 18
> <<<<<<<<<<<<<<<<<<<<<<<<<
> The clang ones are mostly either ABI issues or paths not picking up files, the LLVM ones are all related to JITing in one way or another.
> I can't off the top of my head think what might be causing you to see so many more failures: if anyone has any thoughts...
> Cheers,
> David
> -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.

Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

More information about the cfe-commits mailing list