[AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G
authorJiong Wang <jiong.wang@arm.com>
Fri, 26 Jun 2015 13:41:24 +0000 (13:41 +0000)
committerJiong Wang <jiwang@gcc.gnu.org>
Fri, 26 Jun 2015 13:41:24 +0000 (13:41 +0000)
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

gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c

index 798126fea63674e7fc498886eef2e537565c45c0..c508303ac9ba6ed0708475d9613a38bead3565e4 100644 (file)
@@ -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.
index ac92c5924a4cfc5941fe8eeb31281e18bd21a5a0..249a701a29159f35aef097542a51b31cde79224a 100644 (file)
@@ -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,
index d8e03b7b636112145fa6e5efdaefdbc133cbb45d..67e21c821d0efeca03a8a9c12ff707c1c942444a 100644 (file)
@@ -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: