On 27/10/2023 15:55, Richard Ball wrote:
v2: Formatting and nits fixed.

Follow up patch to arm: Use deltas for Arm switch tables
This patch moves the switch tables for Arm from the .text section
into the .rodata section.

gcc/ChangeLog:

        * config/arm/aout.h: Change to use the Lrtx label.
        * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Remove arm targets
         from (!target_pure_code) condition.
         (ADDR_VEC_ALIGN): Add align for tables in rodata section.
        * config/arm/arm.cc (arm_output_casesi): Alter the function to include
         .Lrtx label and remove adr instructions.
        * config/arm/arm.md
         (arm_casesi_internal): Use force_reg to generate ldr instructions that
         would otherwise be out of range, and change rtl to accommodate force 
reg.
         Additionally remove unnecessary register temp.
         (casesi): Remove pure code check for Arm.
        * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Remove arm
         targets from JUMP_TABLES_IN_TEXT_SECTION definition.

gcc/testsuite/ChangeLog:

        * gcc.target/arm/arm-switchstatement.c: Alter the tests to
         change adr instruction to ldr.

OK.

Reviewed-by: rearn...@arm.com

R.

Reply via email to