aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-06-26 21:14:05 +0000
committerChris Lattner <sabre@nondot.org>2009-06-26 21:14:05 +0000
commitb31fb964f42d4b51d0a4c1e04a343741857d91cb (patch)
treeca9c508378c9760c0823357c4bb4ae44b126072c /include
parent7e2af1b050283ccf7b690530ac725ad27aef1219 (diff)
downloadexternal_llvm-b31fb964f42d4b51d0a4c1e04a343741857d91cb.zip
external_llvm-b31fb964f42d4b51d0a4c1e04a343741857d91cb.tar.gz
external_llvm-b31fb964f42d4b51d0a4c1e04a343741857d91cb.tar.bz2
fix a really subtle bug in the cross section of aliases and TLS:
the SelectionDAG::getGlobalAddress function properly looks through aliases to determine thread-localness, but then passes the GV* down to GlobalAddressSDNode::GlobalAddressSDNode which does not. Instead of passing down isTarget, just pass down the predetermined node opcode. This fixes some assertions with out of tree changes I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74325 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 16714f1..adf0478 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -1821,7 +1821,7 @@ class GlobalAddressSDNode : public SDNode {
int64_t Offset;
unsigned char TargetFlags;
friend class SelectionDAG;
- GlobalAddressSDNode(bool isTarget, const GlobalValue *GA, MVT VT,
+ GlobalAddressSDNode(unsigned Opc, const GlobalValue *GA, MVT VT,
int64_t o, unsigned char TargetFlags);
public: