Lines Matching defs:adrp
74 0x90000010, // 00: adrp x16, __la_symbol_ptr@page
85 0x90000011, // 00: adrp x17, _dyld_private@page
88 0x90000010, // 0c: adrp x16, dyld_stub_binder@page
109 0x90000001, // adrp x1, __objc_selrefs@page
111 0x90000010, // adrp x16, _got@page
120 0x90000001, // adrp x1, __objc_selrefs@page
160 0x90000010, // 00: adrp x16, <thunk.ptr>@page
231 static bool parseAdrp(uint32_t insn, Adrp &adrp) {
234 adrp.destRegister = insn & 0x1f;
237 adrp.addend = SignExtend64<21>(immLo | (immHi << 2)) * 4096;
354 // Transforms a pair of adrp+add instructions into an adr instruction if the
358 // adrp xN, _foo@PAGE
367 Adrp adrp;
369 if (!parseAdrp(ins1, adrp) || !parseAdd(ins2, add))
371 if (adrp.destRegister != add.srcRegister)
375 uint64_t referent = pageBits(addr1) + adrp.addend + add.addend;
384 // Transforms two adrp instructions into a single adrp if their referent
387 // adrp xN, _foo@PAGE
388 // adrp xN, _bar@PAGE
390 // adrp xN, _foo@PAGE
410 // Transforms a pair of adrp+ldr (immediate) instructions into an ldr (literal)
414 // adrp xN, _foo@PAGE
423 Adrp adrp;
425 if (!parseAdrp(ins1, adrp) || !parseLdr(ins2, ldr))
427 if (adrp.destRegister != ldr.baseRegister)
432 uint64_t referent = pageBits(addr1) + adrp.addend + ldr.offset;
441 // GOT loads are emitted by the compiler as a pair of adrp and ldr instructions,
442 // but they may be changed to adrp+add by relaxGotLoad(). This hint performs
455 // Optimizes an adrp+add+ldr sequence used for loading from a local symbol's
456 // address by loading directly if it's close enough, or to an adrp(p)+ldr
459 // adrp x0, _foo@PAGE
466 Adrp adrp;
467 if (!parseAdrp(ins1, adrp))
477 if (adrp.destRegister != add.srcRegister)
488 uint64_t referent = pageBits(addr1) + adrp.addend + add.addend;
512 // adrp x0, _foo@PAGE
516 immediateLdr.baseRegister = adrp.destRegister;
528 // If the referenced symbol is local and thus has been relaxed to adrp+add+ldr,
540 // adrp x1, _foo@GOTPAGE
545 Adrp adrp;
546 if (!parseAdrp(ins1, adrp))
553 if (ldr2.baseRegister != adrp.destRegister)
563 uint64_t referent = pageBits(addr1) + adrp.addend + ldr2.offset;
716 // adrp x0, _foo@PAGE
718 // adrp x0, _bar@PAGE
723 // adrp x0, _foo@PAGE