This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, ARM] attribute target (thumb,arm) [0/6]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]