This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, ARM] attribute target (thumb,arm) [0/6]
- From: Christian Bruel <christian dot bruel at st dot com>
- To: Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- Cc: Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Terry Guo <Terry dot Guo at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 19 Nov 2014 14:24:56 +0100
- Subject: [PATCH, ARM] attribute target (thumb,arm) [0/6]
- Authentication-results: sourceware.org; auth=none
Hello Ramana,
Here is the attribute revisited after your comments, so
- thumb1 is now supported
- -mflip-thump option added for testing.
- inlining is allowed between modes.
This set of patches was tested on rev#217709 as:
no regressions with:
arm-sim/
arm-sim/-march=armv7-a
arm-sim/-mthumb
arm-sim/-mthumb/-march=armv7-a
a few artifacts, all of them analyzed, with
arm-sim/-mflip-thumb/
arm-sim/-mflip-thumb//-march=armv7-a
arm-sim/-mflip-thumb//-mthumb
arm-sim/-mflip-thumb//-mthumb/-march=armv7-a
Artifacts are analyzed, they are mostly the fault of the testsuite being
unable to mix modes in the expected results (e.g thumb[1,2] or arm tests
predicates, mix setjmp/longjump between modes...)
The support is split as followed:
[1/6] Reorganized arm_option_override to dynamically redefine the flags
depending on the attribute mode.
[2/6] Reorganized macro settings to be set/unset for each #pragma targets
[3/6] Change ARM_DECLARE_FUNCTION_NAME into a function
[4/6] Implement hooks to support attribute target
[5/6] Implement #pragma target
[6/6] Add -mflip-thumb option for testing
I think I missed the stage3, Anyway would it be OK for stage1 when it
reopens ?
Christian