diff options
author | Chris Lattner <sabre@nondot.org> | 2009-06-26 21:14:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-06-26 21:14:05 +0000 |
commit | b31fb964f42d4b51d0a4c1e04a343741857d91cb (patch) | |
tree | ca9c508378c9760c0823357c4bb4ae44b126072c /include | |
parent | 7e2af1b050283ccf7b690530ac725ad27aef1219 (diff) | |
download | external_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.h | 2 |
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: |