diff options
author | Jinsong Ji <jji@us.ibm.com> | 2019-09-20 18:21:07 +0000 |
---|---|---|
committer | Jinsong Ji <jji@us.ibm.com> | 2019-09-20 18:21:07 +0000 |
commit | e065e5f12a7de2074355e1fc3d2d1fcb4a4fcf66 (patch) | |
tree | 30b7b2030d344f673ddfae62e05265a74346f5be /llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | |
parent | 7dab840fd4f26fc814b323e017f549f9fb43fcd5 (diff) | |
download | bcm5719-llvm-e065e5f12a7de2074355e1fc3d2d1fcb4a4fcf66.tar.gz bcm5719-llvm-e065e5f12a7de2074355e1fc3d2d1fcb4a4fcf66.zip |
[NFC][PowerPC] Refactor classifyGlobalReference
We always(and only) check the NLP flag after calling
classifyGlobalReference to see whether it is accessed
indirectly.
Refactor to code to use isGVIndirectSym instead.
llvm-svn: 372417
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index 2b64bcf3cf8..c835df3cabc 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -742,8 +742,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) { if (MO.isGlobal()) { const GlobalValue *GV = MO.getGlobal(); MOSymbol = getSymbol(GV); - unsigned char GVFlags = Subtarget->classifyGlobalReference(GV); - GlobalToc = (GVFlags & PPCII::MO_NLP_FLAG); + GlobalToc = Subtarget->isGVIndirectSymbol(GV); } else if (MO.isCPI()) { MOSymbol = GetCPISymbol(MO.getIndex()); } else if (MO.isJTI()) { @@ -799,8 +798,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) { const GlobalValue *GV = MO.getGlobal(); MOSymbol = getSymbol(GV); LLVM_DEBUG( - unsigned char GVFlags = Subtarget->classifyGlobalReference(GV); - assert((GVFlags & PPCII::MO_NLP_FLAG) && + assert((Subtarget->isGVIndirectSymbol(GV)) && "LDtocL used on symbol that could be accessed directly is " "invalid. Must match ADDIStocHA8.")); MOSymbol = lookUpOrCreateTOCEntry(MOSymbol); @@ -827,8 +825,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) { if (MO.isGlobal()) { const GlobalValue *GV = MO.getGlobal(); - LLVM_DEBUG(unsigned char GVFlags = Subtarget->classifyGlobalReference(GV); - assert(!(GVFlags & PPCII::MO_NLP_FLAG) && + LLVM_DEBUG(assert(!(Subtarget->isGVIndirectSymbol(GV)) && "Interposable definitions must use indirect access.")); MOSymbol = getSymbol(GV); } else if (MO.isCPI()) { |