diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-22 17:46:53 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-22 17:46:53 +0000 |
commit | 36b718fc74530d9a7e58185efa78fedbee7f5a13 (patch) | |
tree | ee65f3dca4a58396750c6b61075dcb4b902fafc7 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 7d1483f51cc6a6ecb6e1802567592daf841f463d (diff) | |
download | bcm5719-llvm-36b718fc74530d9a7e58185efa78fedbee7f5a13.tar.gz bcm5719-llvm-36b718fc74530d9a7e58185efa78fedbee7f5a13.zip |
Avoid a Symbol -> Name -> Symbol conversion.
Before this we were producing a TargetExternalSymbol from a MCSymbol.
That meant extracting the symbol name and fetching the symbol again
down the pipeline.
This patch adds a DAG.getMCSymbol that lets the MCSymbol pass unchanged on the
DAG.
Doing so removes the need for MO_NOPREFIX and fixes the root cause of pr23900,
allowing r240130 to be committed again.
llvm-svn: 240300
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index c5562cd3106..7c4b97040f9 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -2562,6 +2562,7 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable, case ISD::TargetConstantPool: case ISD::TargetFrameIndex: case ISD::TargetExternalSymbol: + case ISD::MCSymbol: case ISD::TargetBlockAddress: case ISD::TargetJumpTable: case ISD::TargetGlobalTLSAddress: |