<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>I am trying to removing a load to a TargetGlobalAddress in
ISelDagToDag that my backend does not support. The TargetGlobalAddress is assumed
to always be of ConstantInt or ConstantFP type, so this transformation is valid.
I am correctly able to modify the dag and remove all of the uses of the node as
specified in the attached before and after dot images. The nodes in question is
the CUSTOM_ADD_i32(0x002EDE80) -> load(0x002EDAC8), but I am not able to
figure out how to correctly modify the chain and point the TokenFactor(0x002EDBD8)
node to the  llvm.opencl.other.get.global.id(0x002ED3E0) node so that I can
completely remove the load, undef, and targetglobaladdress nodes.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>If anyone can give me any hints on how I can do this, it
would be greatly appreciated. I am already creating a target specific constant
and then using DAG->ReplaceAllUsesOfValueWith(Op, SDValue(N, 0)) to remove
the first connect, but I’m not sure how to remove the chain.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Thanks for your time,<o:p></o:p></p>

<p class=MsoNormal>Micah <o:p></o:p></p>

</div>

</body>

</html>