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 | 505e982040fe7482e5f3c09b0c899c4e09393b69 (patch) | |
tree | ca9c508378c9760c0823357c4bb4ae44b126072c /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | 24062ac5be1a33d1ef76d399613b7d48a684116e (diff) |
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/llvm/CodeGen/SelectionDAGNodes.h')
-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 16714f154b..adf04782d0 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: |