Migrate MCContext::createTempSymbol call sites to AlwaysAddSuffix=true

Most call sites set AlwaysAddSuffix to true. The two use cases do not really
need false and can be more consistent with other temporary symbol usage.
This commit is contained in:
Fangrui Song 2020-12-21 13:46:45 -08:00
parent 76f4f42eba
commit d33abc337c
10 changed files with 90 additions and 90 deletions

View File

@ -1897,7 +1897,7 @@ void ARMAsmPrinter::emitInstruction(const MachineInstr *MI) {
// LSJLJEH:
Register SrcReg = MI->getOperand(0).getReg();
Register ValReg = MI->getOperand(1).getReg();
MCSymbol *Label = OutContext.createTempSymbol("SJLJEH", false, true);
MCSymbol *Label = OutContext.createTempSymbol("SJLJEH", true, true);
OutStreamer->AddComment("eh_setjmp begin");
EmitToStreamer(*OutStreamer, MCInstBuilder(ARM::tMOVr)
.addReg(ValReg)

View File

@ -339,7 +339,7 @@ static bool hasPCRelativeForm(MachineInstr &Use) {
// Create the symbol.
MCContext &Context = MF->getContext();
MCSymbol *Symbol =
Context.createTempSymbol(Twine("pcrel"), false, false);
Context.createTempSymbol(Twine("pcrel"), true, false);
MachineOperand PCRelLabel =
MachineOperand::CreateMCSymbol(Symbol, PPCII::MO_PCREL_OPT_FLAG);
Pair->DefInst->addOperand(*MF, PCRelLabel);

View File

@ -105,8 +105,8 @@ define dso_local void @P10_Spill_CR_UN(%2* %arg, %1* %arg1, i32 %arg2) local_unn
; CHECK-NEXT: paddi r4, 0, global_4@PCREL, 1
; CHECK-NEXT: stw r3, 176(r1)
; CHECK-NEXT: pld r3, global_3@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel:
; CHECK-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-NEXT: .Lpcrel0:
; CHECK-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-NEXT: ld r12, 0(r3)
; CHECK-NEXT: mtctr r12
; CHECK-NEXT: bctrl

View File

@ -67,8 +67,8 @@ define dso_local signext i32 @DirectCallLocal2(i32 signext %a, i32 signext %b) l
; CHECK-S-NEXT: extsw r3, r3
; CHECK-S-NEXT: bl localCall@notoc
; CHECK-S-NEXT: pld r4, externGlobalVar@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel:
; CHECK-S-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-S-NEXT: .Lpcrel0:
; CHECK-S-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-S-NEXT: lwz r4, 0(r4)
; CHECK-S-NEXT: mullw r3, r4, r3
; CHECK-S-NEXT: extsw r3, r3
@ -152,8 +152,8 @@ define dso_local signext i32 @DirectCallExtern2(i32 signext %a, i32 signext %b)
; CHECK-S-NEXT: extsw r3, r3
; CHECK-S-NEXT: bl externCall@notoc
; CHECK-S-NEXT: pld r4, externGlobalVar@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel0:
; CHECK-S-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-S-NEXT: .Lpcrel1:
; CHECK-S-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; CHECK-S-NEXT: lwz r4, 0(r4)
; CHECK-S-NEXT: mullw r3, r4, r3
; CHECK-S-NEXT: extsw r3, r3
@ -216,8 +216,8 @@ define dso_local signext i32 @TailCallLocal2(i32 signext %a) local_unnamed_addr
; CHECK-S: .localentry TailCallLocal2
; CHECK-S: # %bb.0: # %entry
; CHECK-S: pld r4, externGlobalVar@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel1:
; CHECK-S-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; CHECK-S-NEXT: .Lpcrel2:
; CHECK-S-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; CHECK-S-NEXT: lwz r4, 0(r4)
; CHECK-S-NEXT: add r3, r4, r3
; CHECK-S-NEXT: extsw r3, r3
@ -260,8 +260,8 @@ define dso_local signext i32 @TailCallExtern2(i32 signext %a) local_unnamed_addr
; CHECK-S: .localentry TailCallExtern2
; CHECK-S: # %bb.0: # %entry
; CHECK-S: pld r4, externGlobalVar@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel2:
; CHECK-S-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; CHECK-S-NEXT: .Lpcrel3:
; CHECK-S-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; CHECK-S-NEXT: lwz r4, 0(r4)
; CHECK-S-NEXT: add r3, r4, r3
; CHECK-S-NEXT: extsw r3, r3
@ -327,8 +327,8 @@ define dso_local signext i32 @IndirectCall2(i32 signext %a, i32 signext %b) loca
; CHECK-S-NEXT: mtctr r12
; CHECK-S-NEXT: bctrl
; CHECK-S-NEXT: pld r4, externGlobalVar@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel3:
; CHECK-S-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; CHECK-S-NEXT: .Lpcrel4:
; CHECK-S-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; CHECK-S-NEXT: lwz r4, 0(r4)
; CHECK-S-NEXT: mullw r3, r4, r3
; CHECK-S-NEXT: extsw r3, r3

View File

@ -23,16 +23,16 @@ define dso_local signext i32 @ReadGlobalVarChar() local_unnamed_addr {
; LE-LABEL: ReadGlobalVarChar:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, valChar@got@pcrel(0), 1
; LE-NEXT: .Lpcrel:
; LE-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; LE-NEXT: .Lpcrel0:
; LE-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; LE-NEXT: lbz r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalVarChar:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, valChar@got@pcrel(0), 1
; BE-NEXT: .Lpcrel:
; BE-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; BE-NEXT: .Lpcrel0:
; BE-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; BE-NEXT: lbz r3, 0(r3)
; BE-NEXT: blr
entry:
@ -64,16 +64,16 @@ define dso_local signext i32 @ReadGlobalVarShort() local_unnamed_addr {
; LE-LABEL: ReadGlobalVarShort:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, valShort@got@pcrel(0), 1
; LE-NEXT: .Lpcrel0:
; LE-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; LE-NEXT: .Lpcrel1:
; LE-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; LE-NEXT: lha r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalVarShort:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, valShort@got@pcrel(0), 1
; BE-NEXT: .Lpcrel0:
; BE-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; BE-NEXT: .Lpcrel1:
; BE-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; BE-NEXT: lha r3, 0(r3)
; BE-NEXT: blr
entry:
@ -105,16 +105,16 @@ define dso_local signext i32 @ReadGlobalVarInt() local_unnamed_addr {
; LE-LABEL: ReadGlobalVarInt:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, valInt@got@pcrel(0), 1
; LE-NEXT: .Lpcrel1:
; LE-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; LE-NEXT: .Lpcrel2:
; LE-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; LE-NEXT: lwa r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalVarInt:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, valInt@got@pcrel(0), 1
; BE-NEXT: .Lpcrel1:
; BE-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; BE-NEXT: .Lpcrel2:
; BE-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; BE-NEXT: lwa r3, 0(r3)
; BE-NEXT: blr
entry:
@ -145,16 +145,16 @@ define dso_local signext i32 @ReadGlobalVarUnsigned() local_unnamed_addr {
; LE-LABEL: ReadGlobalVarUnsigned:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, valUnsigned@got@pcrel(0), 1
; LE-NEXT: .Lpcrel2:
; LE-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; LE-NEXT: .Lpcrel3:
; LE-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; LE-NEXT: lwa r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalVarUnsigned:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, valUnsigned@got@pcrel(0), 1
; BE-NEXT: .Lpcrel2:
; BE-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; BE-NEXT: .Lpcrel3:
; BE-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; BE-NEXT: lwa r3, 0(r3)
; BE-NEXT: blr
entry:
@ -185,16 +185,16 @@ define dso_local signext i32 @ReadGlobalVarLong() local_unnamed_addr {
; LE-LABEL: ReadGlobalVarLong:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, valLong@got@pcrel(0), 1
; LE-NEXT: .Lpcrel3:
; LE-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; LE-NEXT: .Lpcrel4:
; LE-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; LE-NEXT: lwa r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalVarLong:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, valLong@got@pcrel(0), 1
; BE-NEXT: .Lpcrel3:
; BE-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; BE-NEXT: .Lpcrel4:
; BE-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; BE-NEXT: lwa r3, 4(r3)
; BE-NEXT: blr
entry:
@ -226,16 +226,16 @@ define dso_local i32* @ReadGlobalPtr() local_unnamed_addr {
; LE-LABEL: ReadGlobalPtr:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, ptr@got@pcrel(0), 1
; LE-NEXT: .Lpcrel4:
; LE-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; LE-NEXT: .Lpcrel5:
; LE-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; LE-NEXT: ld r3, 0(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalPtr:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, ptr@got@pcrel(0), 1
; BE-NEXT: .Lpcrel4:
; BE-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; BE-NEXT: .Lpcrel5:
; BE-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; BE-NEXT: ld r3, 0(r3)
; BE-NEXT: blr
entry:
@ -247,9 +247,9 @@ define dso_local void @WriteGlobalPtr() local_unnamed_addr {
; LE-LABEL: WriteGlobalPtr:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, ptr@got@pcrel(0), 1
; LE-NEXT: .Lpcrel5:
; LE-NEXT: .Lpcrel6:
; LE-NEXT: li r4, 3
; LE-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; LE-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; LE-NEXT: ld r3, 0(r3)
; LE-NEXT: stw r4, 0(r3)
; LE-NEXT: blr
@ -257,9 +257,9 @@ define dso_local void @WriteGlobalPtr() local_unnamed_addr {
; BE-LABEL: WriteGlobalPtr:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, ptr@got@pcrel(0), 1
; BE-NEXT: .Lpcrel5:
; BE-NEXT: .Lpcrel6:
; BE-NEXT: li r4, 3
; BE-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; BE-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; BE-NEXT: ld r3, 0(r3)
; BE-NEXT: stw r4, 0(r3)
; BE-NEXT: blr
@ -287,16 +287,16 @@ define dso_local signext i32 @ReadGlobalArray() local_unnamed_addr {
; LE-LABEL: ReadGlobalArray:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, array@got@pcrel(0), 1
; LE-NEXT: .Lpcrel6:
; LE-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; LE-NEXT: .Lpcrel7:
; LE-NEXT: .reloc .Lpcrel7-8,R_PPC64_PCREL_OPT,.-(.Lpcrel7-8)
; LE-NEXT: lwa r3, 12(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalArray:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, array@got@pcrel(0), 1
; BE-NEXT: .Lpcrel6:
; BE-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; BE-NEXT: .Lpcrel7:
; BE-NEXT: .reloc .Lpcrel7-8,R_PPC64_PCREL_OPT,.-(.Lpcrel7-8)
; BE-NEXT: lwa r3, 12(r3)
; BE-NEXT: blr
entry:
@ -327,16 +327,16 @@ define dso_local signext i32 @ReadGlobalStruct() local_unnamed_addr {
; LE-LABEL: ReadGlobalStruct:
; LE: # %bb.0: # %entry
; LE-NEXT: pld r3, structure@got@pcrel(0), 1
; LE-NEXT: .Lpcrel7:
; LE-NEXT: .reloc .Lpcrel7-8,R_PPC64_PCREL_OPT,.-(.Lpcrel7-8)
; LE-NEXT: .Lpcrel8:
; LE-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; LE-NEXT: lwa r3, 4(r3)
; LE-NEXT: blr
;
; BE-LABEL: ReadGlobalStruct:
; BE: # %bb.0: # %entry
; BE-NEXT: pld r3, structure@got@pcrel(0), 1
; BE-NEXT: .Lpcrel7:
; BE-NEXT: .reloc .Lpcrel7-8,R_PPC64_PCREL_OPT,.-(.Lpcrel7-8)
; BE-NEXT: .Lpcrel8:
; BE-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; BE-NEXT: lwa r3, 4(r3)
; BE-NEXT: blr
entry:
@ -368,8 +368,8 @@ define dso_local void @ReadFuncPtr() local_unnamed_addr {
; LE: .localentry ReadFuncPtr, 1
; LE-NEXT: # %bb.0: # %entry
; LE-NEXT: pld r3, ptrfunc@got@pcrel(0), 1
; LE-NEXT: .Lpcrel8:
; LE-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; LE-NEXT: .Lpcrel9:
; LE-NEXT: .reloc .Lpcrel9-8,R_PPC64_PCREL_OPT,.-(.Lpcrel9-8)
; LE-NEXT: ld r12, 0(r3)
; LE-NEXT: mtctr r12
; LE-NEXT: bctr
@ -379,8 +379,8 @@ define dso_local void @ReadFuncPtr() local_unnamed_addr {
; BE: .localentry ReadFuncPtr, 1
; BE-NEXT: # %bb.0: # %entry
; BE-NEXT: pld r3, ptrfunc@got@pcrel(0), 1
; BE-NEXT: .Lpcrel8:
; BE-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; BE-NEXT: .Lpcrel9:
; BE-NEXT: .reloc .Lpcrel9-8,R_PPC64_PCREL_OPT,.-(.Lpcrel9-8)
; BE-NEXT: ld r12, 0(r3)
; BE-NEXT: mtctr r12
; BE-NEXT: bctr

View File

@ -15,16 +15,16 @@ define dso_local i8 @Read8() local_unnamed_addr {
; DEFAULT-LABEL: Read8:
; DEFAULT: # %bb.0: # %entry
; DEFAULT-NEXT: pld r3, input8@got@pcrel(0), 1
; DEFAULT-NEXT: .Lpcrel:
; DEFAULT-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; DEFAULT-NEXT: .Lpcrel0:
; DEFAULT-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; DEFAULT-NEXT: lbz r3, 0(r3)
; DEFAULT-NEXT: blr
;
; ON-LABEL: Read8:
; ON: # %bb.0: # %entry
; ON-NEXT: pld r3, input8@got@pcrel(0), 1
; ON-NEXT: .Lpcrel:
; ON-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; ON-NEXT: .Lpcrel0:
; ON-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; ON-NEXT: lbz r3, 0(r3)
; ON-NEXT: blr
;

View File

@ -38,9 +38,9 @@ define dso_local void @ReadWrite8() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWrite8:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, input8@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel:
; CHECK-NEXT: .Lpcrel0:
; CHECK-NEXT: pld r4, output8@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-NEXT: lbz r3, 0(r3)
; In this test the stb r3, 0(r4) cannot be optimized because it
; uses the register r3 and that register is defined by lbz r3, 0(r3)
@ -57,9 +57,9 @@ define dso_local void @ReadWrite16() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWrite16:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, input16@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel0:
; CHECK-NEXT: .Lpcrel1:
; CHECK-NEXT: pld r4, output16@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; CHECK-NEXT: lhz r3, 0(r3)
; In this test the sth r3, 0(r4) cannot be optimized because it
; uses the register r3 and that register is defined by lhz r3, 0(r3)
@ -76,9 +76,9 @@ define dso_local void @ReadWrite32() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWrite32:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, input32@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel1:
; CHECK-NEXT: .Lpcrel2:
; CHECK-NEXT: pld r4, output32@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; CHECK-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; CHECK-NEXT: lwz r3, 0(r3)
; CHECK-NEXT: stw r3, 0(r4)
; CHECK-NEXT: blr
@ -92,9 +92,9 @@ define dso_local void @ReadWrite64() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWrite64:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, input64@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel2:
; CHECK-NEXT: .Lpcrel3:
; CHECK-NEXT: pld r4, output64@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel2-8,R_PPC64_PCREL_OPT,.-(.Lpcrel2-8)
; CHECK-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; CHECK-NEXT: ld r3, 0(r3)
; CHECK-NEXT: std r3, 0(r4)
; CHECK-NEXT: blr
@ -124,9 +124,9 @@ define dso_local void @ReadWritef32() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWritef32:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, inputf32@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel3:
; CHECK-NEXT: .Lpcrel4:
; CHECK-NEXT: xxspltidp vs1, 1078103900
; CHECK-NEXT: .reloc .Lpcrel3-8,R_PPC64_PCREL_OPT,.-(.Lpcrel3-8)
; CHECK-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; CHECK-NEXT: lfs f0, 0(r3)
; CHECK-NEXT: pld r3, outputf32@got@pcrel(0), 1
; CHECK-NEXT: xsaddsp f0, f0, f1
@ -143,9 +143,9 @@ define dso_local void @ReadWritef64() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWritef64:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, inputf64@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel4:
; CHECK-NEXT: .Lpcrel5:
; CHECK-NEXT: plfd f1, .LCPI6_0@PCREL(0), 1
; CHECK-NEXT: .reloc .Lpcrel4-8,R_PPC64_PCREL_OPT,.-(.Lpcrel4-8)
; CHECK-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; CHECK-NEXT: lfd f0, 0(r3)
; CHECK-NEXT: pld r3, outputf64@got@pcrel(0), 1
; CHECK-NEXT: xsadddp f0, f0, f1
@ -196,9 +196,9 @@ define dso_local void @ReadWriteArray() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWriteArray:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, ArrayIn@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel5:
; CHECK-NEXT: .Lpcrel6:
; CHECK-NEXT: pld r4, ArrayOut@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel5-8,R_PPC64_PCREL_OPT,.-(.Lpcrel5-8)
; CHECK-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; CHECK-NEXT: lwz r3, 28(r3)
; CHECK-NEXT: addi r3, r3, 42
; CHECK-NEXT: stw r3, 8(r4)
@ -229,12 +229,12 @@ define dso_local void @ReadWriteIntPtr() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWriteIntPtr:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, IntPtrIn@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel6:
; CHECK-NEXT: pld r4, IntPtrOut@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel7:
; CHECK-NEXT: .reloc .Lpcrel6-8,R_PPC64_PCREL_OPT,.-(.Lpcrel6-8)
; CHECK-NEXT: ld r3, 0(r3)
; CHECK-NEXT: pld r4, IntPtrOut@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel8:
; CHECK-NEXT: .reloc .Lpcrel7-8,R_PPC64_PCREL_OPT,.-(.Lpcrel7-8)
; CHECK-NEXT: ld r3, 0(r3)
; CHECK-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; CHECK-NEXT: ld r4, 0(r4)
; CHECK-NEXT: lwz r5, 216(r3)
; CHECK-NEXT: lwz r3, 48(r3)
@ -258,9 +258,9 @@ define dso_local void @ReadWriteFuncPtr() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWriteFuncPtr:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, FuncPtrIn@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel8:
; CHECK-NEXT: .Lpcrel9:
; CHECK-NEXT: pld r4, FuncPtrOut@got@pcrel(0), 1
; CHECK-NEXT: .reloc .Lpcrel8-8,R_PPC64_PCREL_OPT,.-(.Lpcrel8-8)
; CHECK-NEXT: .reloc .Lpcrel9-8,R_PPC64_PCREL_OPT,.-(.Lpcrel9-8)
; CHECK-NEXT: ld r3, 0(r3)
; CHECK-NEXT: std r3, 0(r4)
; CHECK-NEXT: blr
@ -289,8 +289,8 @@ define dso_local void @FuncPtrCall() local_unnamed_addr #0 {
; CHECK: .localentry FuncPtrCall, 1
; CHECK-NEXT: # %bb.0: # %entry
; CHECK-NEXT: pld r3, FuncPtrIn@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel9:
; CHECK-NEXT: .reloc .Lpcrel9-8,R_PPC64_PCREL_OPT,.-(.Lpcrel9-8)
; CHECK-NEXT: .Lpcrel10:
; CHECK-NEXT: .reloc .Lpcrel10-8,R_PPC64_PCREL_OPT,.-(.Lpcrel10-8)
; CHECK-NEXT: ld r12, 0(r3)
; CHECK-NEXT: mtctr r12
; CHECK-NEXT: bctr
@ -305,8 +305,8 @@ define dso_local signext i32 @ReadVecElement() local_unnamed_addr #0 {
; CHECK-LABEL: ReadVecElement:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: pld r3, inputVi32@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel10:
; CHECK-NEXT: .reloc .Lpcrel10-8,R_PPC64_PCREL_OPT,.-(.Lpcrel10-8)
; CHECK-NEXT: .Lpcrel11:
; CHECK-NEXT: .reloc .Lpcrel11-8,R_PPC64_PCREL_OPT,.-(.Lpcrel11-8)
; CHECK-NEXT: lwa r3, 4(r3)
; CHECK-NEXT: blr
entry:

View File

@ -50,8 +50,8 @@ define dso_local signext i32 @getElementExtern4() local_unnamed_addr {
; CHECK-S-LABEL: getElementExtern4:
; CHECK-S: # %bb.0: # %entry
; CHECK-S-NEXT: pld r3, array1@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel:
; CHECK-S-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-S-NEXT: .Lpcrel0:
; CHECK-S-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-S-NEXT: lwa r3, 16(r3)
; CHECK-S-NEXT: blr
; CHECK-O-LABEL: <getElementExtern4>:
@ -69,8 +69,8 @@ define dso_local signext i32 @getElementExternNegative() local_unnamed_addr {
; CHECK-S-LABEL: getElementExternNegative:
; CHECK-S: # %bb.0: # %entry
; CHECK-S-NEXT: pld r3, array1@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel0:
; CHECK-S-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-S-NEXT: .Lpcrel1:
; CHECK-S-NEXT: .reloc .Lpcrel1-8,R_PPC64_PCREL_OPT,.-(.Lpcrel1-8)
; CHECK-S-NEXT: lwa r3, -4(r3)
; CHECK-S-NEXT: blr
; CHECK-O-LABEL: <getElementExternNegative>:

View File

@ -51,8 +51,8 @@ define dso_local void @TailCallExtrnFuncPtr() local_unnamed_addr {
; CHECK: .localentry TailCallExtrnFuncPtr, 1
; CHECK-NEXT: # %bb.0: # %entry
; CHECK-NEXT: pld r3, Func@got@pcrel(0), 1
; CHECK-NEXT: .Lpcrel:
; CHECK-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-NEXT: .Lpcrel0:
; CHECK-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-NEXT: ld r12, 0(r3)
; CHECK-NEXT: mtctr r12
; CHECK-NEXT: bctr

View File

@ -41,8 +41,8 @@ define dso_local signext i32 @ReadGlobalVarInt() local_unnamed_addr {
; CHECK-S-LABEL: ReadGlobalVarInt
; CHECK-S: # %bb.0: # %entry
; CHECK-S-NEXT: pld r3, valIntGlob@got@pcrel(0), 1
; CHECK-S-NEXT: .Lpcrel:
; CHECK-S-NEXT: .reloc .Lpcrel-8,R_PPC64_PCREL_OPT,.-(.Lpcrel-8)
; CHECK-S-NEXT: .Lpcrel0:
; CHECK-S-NEXT: .reloc .Lpcrel0-8,R_PPC64_PCREL_OPT,.-(.Lpcrel0-8)
; CHECK-S-NEXT: lwa r3, 0(r3)
; CHECK-S-NEXT: blr