<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">In LegalizeDAG.cpp, truncating stores are custom-lowered in line 1314-1317:<br>
<br>
<pre class="fragment"><span class="keywordflow">1314         case TargetLowering::Custom:<br>1315           ReplaceNode(SDValue(Node, 0),<br>1316                       TLI.LowerOperation(SDValue(Node, 0), DAG));<br>1317           break;</span><br><br></pre>
Is there a reason it doesn't check whether the SDValue returned from <br>
TargetLowering::LowerOperation is null before it replaces the original node with the returned node? The return value is checked everywhere else TLI.LowerOperation is called (line 937, for example).  
<br>
<pre class="fragment"><span class="keywordflow"></span></pre>
<pre class="fragment"><br>937         Tmp1 = TLI.LowerOperation(Tmp3, DAG);<br>938         if (Tmp1.getNode()) {<br>939           Tmp3 = Tmp1;<br>940           Tmp4 = Tmp1.getValue(1);<br>941         }<br>942         break;</pre>
<br>
</div>
</body>
</html>