aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/Mips/Relocation.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/Mips/Relocation.txt')
-rw-r--r--lib/Target/Mips/Relocation.txt35
1 files changed, 1 insertions, 34 deletions
diff --git a/lib/Target/Mips/Relocation.txt b/lib/Target/Mips/Relocation.txt
index f1a6fd8645f6..2f98e16886a1 100644
--- a/lib/Target/Mips/Relocation.txt
+++ b/lib/Target/Mips/Relocation.txt
@@ -69,40 +69,7 @@ to MIPS32 to compute addresses for the static relocation model.
The instantiation in Mips64InstrInfo.td is used for MIPS64 in ILP32
mode, as guarded by the predicate "SYM_32" and also for a submode of
-LP64 where symbols are assumed to be 32 bits wide. A similar
-multiclass for MIPS64 in LP64 mode is also defined:
-
- // lib/Target/Mips/Mips64InstrInfo.td
- multiclass MipsHighestHigherHiLoRelocs<Instruction Lui,
- Instruction Daddiu> {
- ...
- def : MipsPat<(MipsHighest (i64 tglobaladdr:$in)),
- (Lui tglobaladdr:$in)>;
- ...
- def : MipsPat<(MipsHigher (i64 tglobaladdr:$in)),
- (Daddiu ZERO_64, tglobaladdr:$in)>;
- ...
- def : MipsPat<(add GPR64:$hi, (MipsHigher (i64 tglobaladdr:$lo))),
- (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
- ...
- def : MipsPat<(add GPR64:$hi, (MipsHi (i64 tglobaladdr:$lo))),
- (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
- ...
- def : MipsPat<(add GPR64:$hi, (MipsLo (i64 tglobaladdr:$lo))),
- (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
- }
-
-and it is instantiated twice:
-
- // lib/Target/Mips/Mips64InstrInfo.td
- defm : MipsHighestHigherHiLoRelocs<LUi64, DADDiu>, SYM_64;
- // lib/Target/Mips/MicroMips64r6InstrInfo.td
- defm : MipsHighestHigherHiLoRelocs<LUi64, DADDIU_MM64R6>, SYM_64,
- ISA_MICROMIPS64R6;
-
-These patterns are used during instruction selection to match
-MipsISD::{Highest, Higher, Hi, Lo} to a specific machine instruction
-and operands.
+LP64 where symbols are assumed to be 32 bits wide.
More details on how multiclasses in TableGen work can be found in the
section "Multiclass definitions and instances" in the document