diff options
author | Jiong Wang <jiong.wang@arm.com> | 2015-06-26 13:41:24 +0000 |
---|---|---|
committer | Jiong Wang <jiwang@gcc.gnu.org> | 2015-06-26 13:41:24 +0000 |
commit | 6642bdb4b14d655cedea29d01fbb0d854a6c14fa (patch) | |
tree | 956019505d1198ed8c6bd37ced57348178665586 /gcc | |
parent | 569aafaaf7a02c5cd6d7b69fafac581c61464091 (diff) | |
download | gcc-6642bdb4b14d655cedea29d01fbb0d854a6c14fa.zip gcc-6642bdb4b14d655cedea29d01fbb0d854a6c14fa.tar.gz gcc-6642bdb4b14d655cedea29d01fbb0d854a6c14fa.tar.bz2 |
[AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G
2015-06-26 Jiong Wang <jiong.wang@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
(aarch64_expand_mov_immediate): Ditto.
(aarch64_print_operand): Ditto.
(aarch64_classify_symbol): Ditto.
From-SVN: r225013
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-protos.h | 7 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 10 |
3 files changed, 18 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 798126f..c508303 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-06-26 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename + SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. + (aarch64_expand_mov_immediate): Ditto. + (aarch64_print_operand): Ditto. + (aarch64_classify_symbol): Ditto. + 2015-06-26 Nathan Sidwell <nathan@codesourcery.com> * config/nvptx/nvptx.md (call_operation): Remove unused variables. diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index ac92c59..249a701 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -49,12 +49,13 @@ enum aarch64_symbol_context This corresponds to the small code model of the compiler. - SYMBOL_SMALL_GOT: Similar to the one above but this + SYMBOL_SMALL_GOT_4G: Similar to the one above but this gives us the GOT entry of the symbol being referred to : Thus calculating the GOT entry for foo is done using the following sequence of instructions. The ADRP instruction gets us to the page containing the GOT entry of the symbol - and the got_lo12 gets us the actual offset in it. + and the got_lo12 gets us the actual offset in it, together + the base and offset, we can address 4G size GOT table. adrp x0, :got:foo ldr x0, [x0, :gotoff_lo12:foo] @@ -94,7 +95,7 @@ enum aarch64_symbol_context enum aarch64_symbol_type { SYMBOL_SMALL_ABSOLUTE, - SYMBOL_SMALL_GOT, + SYMBOL_SMALL_GOT_4G, SYMBOL_SMALL_TLSGD, SYMBOL_SMALL_TLSDESC, SYMBOL_SMALL_GOTTPREL, diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index d8e03b7..67e21c8 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -826,7 +826,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm, emit_insn (gen_rtx_SET (dest, imm)); return; - case SYMBOL_SMALL_GOT: + case SYMBOL_SMALL_GOT_4G: { /* In ILP32, the mode of dest can be either SImode or DImode, while the got entry is always of SImode size. The mode of @@ -1478,7 +1478,7 @@ aarch64_expand_mov_immediate (rtx dest, rtx imm) case SYMBOL_SMALL_TLSGD: case SYMBOL_SMALL_TLSDESC: case SYMBOL_SMALL_GOTTPREL: - case SYMBOL_SMALL_GOT: + case SYMBOL_SMALL_GOT_4G: case SYMBOL_TINY_GOT: if (offset != const0_rtx) { @@ -4359,7 +4359,7 @@ aarch64_print_operand (FILE *f, rtx x, char code) switch (aarch64_classify_symbolic_expression (x, SYMBOL_CONTEXT_ADR)) { - case SYMBOL_SMALL_GOT: + case SYMBOL_SMALL_GOT_4G: asm_fprintf (asm_out_file, ":got:"); break; @@ -4392,7 +4392,7 @@ aarch64_print_operand (FILE *f, rtx x, char code) case 'L': switch (aarch64_classify_symbolic_expression (x, SYMBOL_CONTEXT_ADR)) { - case SYMBOL_SMALL_GOT: + case SYMBOL_SMALL_GOT_4G: asm_fprintf (asm_out_file, ":lo12:"); break; @@ -7403,7 +7403,7 @@ aarch64_classify_symbol (rtx x, rtx offset, case AARCH64_CMODEL_SMALL_PIC: if (!aarch64_symbol_binds_local_p (x)) - return SYMBOL_SMALL_GOT; + return SYMBOL_SMALL_GOT_4G; return SYMBOL_SMALL_ABSOLUTE; default: |