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
This commit is contained in:
Chris Lattner
2009-06-26 21:14:05 +00:00
parent 24062ac5be
commit 505e982040
2 changed files with 4 additions and 10 deletions

View File

@@ -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: