Lines Matching +full:non +full:- +full:pc
1 //===-- M68kSubtarget.cpp - M68k Subtarget Information ----------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
33 #define DEBUG_TYPE "m68k-subtarget"
55 FrameLowering(*this, this->getStackAlignment()), TLInfo(TM, *this), in M68kSubtarget()
102 //===----------------------------------------------------------------------===//
106 // - Whenever possible we use pc-rel encoding since it is smaller(16 bit) than
108 // - GOT is reachable within 16 bit offset for both Small and Medium models.
109 // - Code section is reachable within 16 bit offset for both models.
111 // ---------------------+-------------------------+--------------------------
113 // +-------------------------+------------+-------------
115 // ---------------------+------------+------------+------------+-------------
116 // branch | pc-rel | pc-rel | pc-rel | pc-rel
117 // ---------------------+------------+------------+------------+-------------
119 // ---------------------+------------+------------+------------+-------------
120 // call internal | pc-rel | pc-rel | pc-rel | pc-rel
121 // ---------------------+------------+------------+------------+-------------
122 // data local | pc-rel | pc-rel | ~pc-rel | ^pc-rel
123 // ---------------------+------------+------------+------------+-------------
124 // data local big* | pc-rel | pc-rel | absolute | @GOTOFF
125 // ---------------------+------------+------------+------------+-------------
126 // data global | pc-rel | @GOTPCREL | ~pc-rel | @GOTPCREL
127 // ---------------------+------------+------------+------------+-------------
128 // data global big* | pc-rel | @GOTPCREL | absolute | @GOTPCREL
129 // ---------------------+------------+------------+------------+-------------
140 //===----------------------------------------------------------------------===//
143 /// we should reference it in a non-pcrel context.
145 // Unless we start to support Large Code Model branching is always pc-rel in classifyBlockAddressReference()
189 return classifyGlobalReference(GV, *GV->getParent()); in classifyGlobalReference()
230 // In non-pic modes, just use the address of a block. in getJumpTableEncoding()
236 return classifyGlobalFunctionReference(GV, *GV->getParent()); in classifyGlobalFunctionReference()
242 // local always use pc-rel referencing in classifyGlobalFunctionReference()
246 // If the function is marked as non-lazy, generate an indirect call in classifyGlobalFunctionReference()
247 // which loads from the GOT directly. This avoids run-time overhead in classifyGlobalFunctionReference()
250 if (F && F->hasFnAttribute(Attribute::NonLazyBind)) { in classifyGlobalFunctionReference()
254 // Ensure that we don't emit PLT relocations when in non-pic modes. in classifyGlobalFunctionReference()