<div dir="ltr">Reverted this and dependent change in r280301.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 3:37 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This causes MSVC 2013 to ICE:<div><a href="http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/9998/steps/build%20stage%201/logs/stdio" target="_blank">http://lab.llvm.org:8011/<wbr>builders/clang-x86-win2008-<wbr>selfhost/builds/9998/steps/<wbr>build%20stage%201/logs/stdio</a><br></div><div><br></div><div>You would have received email but the bot was broken for *other* reasons relating to ELFDumper.cpp, which I hope Saleem dealt with.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 11:02 AM, Krzysztof Parzyszek via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: kparzysz<br>
Date: Wed Aug 31 13:02:19 2016<br>
New Revision: 280268<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=280268&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject?rev=280268&view=rev</a><br>
Log:<br>
Add an optional parameter with a list of undefs to extendToIndices<br>
<br>
Modified:<br>
llvm/trunk/include/llvm/CodeGe<wbr>n/LiveIntervalAnalysis.h<br>
llvm/trunk/lib/CodeGen/LiveInt<wbr>ervalAnalysis.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/CodeGe<wbr>n/LiveIntervalAnalysis.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/LiveIntervalAnalysis.h?rev=280268&r1=280267&r2=280268&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/llvm/trunk/include/llvm/<wbr>CodeGen/LiveIntervalAnalysis.<wbr>h?rev=280268&r1=280267&r2=<wbr>280268&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/include/llvm/CodeGe<wbr>n/LiveIntervalAnalysis.h (original)<br>
+++ llvm/trunk/include/llvm/CodeGe<wbr>n/LiveIntervalAnalysis.h Wed Aug 31 13:02:19 2016<br>
@@ -164,14 +164,19 @@ extern cl::opt<bool> UseSegmentSetForPhy<br>
void shrinkToUses(LiveInterval::Sub<wbr>Range &SR, unsigned Reg);<br>
<br>
/// Extend the live range @p LR to reach all points in @p Indices. The<br>
- /// points in the @p Indices array must be jointly dominated by existing<br>
- /// defs in @p LR. PHI-defs are added as needed to maintain SSA form.<br>
+ /// points in the @p Indices array must be jointly dominated by the union<br>
+ /// of the existing defs in @p LR and points in @p Undefs.<br>
+ ///<br>
+ /// PHI-defs are added as needed to maintain SSA form.<br>
///<br>
/// If a SlotIndex in @p Indices is the end index of a basic block, @p LR<br>
/// will be extended to be live out of the basic block.<br>
+ /// If a SlotIndex in @p Indices is jointy dominated only by points in<br>
+ /// @p Undefs, the live range will not be extended to that point.<br>
///<br>
/// See also LiveRangeCalc::extend().<br>
- void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices);<br>
+ void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices,<br>
+ ArrayRef<SlotIndex> Undefs = {});<br>
<br>
/// If @p LR has a live value at @p Kill, prune its live range by removing<br>
/// any liveness reachable from Kill. Add live range end points to<br>
<br>
Modified: llvm/trunk/lib/CodeGen/LiveInt<wbr>ervalAnalysis.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=280268&r1=280267&r2=280268&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/llvm/trunk/lib/CodeGen/<wbr>LiveIntervalAnalysis.cpp?rev=<wbr>280268&r1=280267&r2=280268&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/CodeGen/LiveInt<wbr>ervalAnalysis.cpp (original)<br>
+++ llvm/trunk/lib/CodeGen/LiveInt<wbr>ervalAnalysis.cpp Wed Aug 31 13:02:19 2016<br>
@@ -568,11 +568,12 @@ void LiveIntervals::shrinkToUses(Li<wbr>veInt<br>
}<br>
<br>
void LiveIntervals::extendToIndices<wbr>(LiveRange &LR,<br>
- ArrayRef<SlotIndex> Indices) {<br>
+ ArrayRef<SlotIndex> Indices,<br>
+ ArrayRef<SlotIndex> Undefs) {<br>
assert(LRCalc && "LRCalc not initialized.");<br>
LRCalc->reset(MF, getSlotIndexes(), DomTree, &getVNInfoAllocator());<br>
for (unsigned i = 0, e = Indices.size(); i != e; ++i)<br>
- LRCalc->extend(LR, Indices[i], /*PhysReg=*/0, /*Undefs=*/{});<br>
+ LRCalc->extend(LR, Indices[i], /*PhysReg=*/0, Undefs);<br>
}<br>
<br>
void LiveIntervals::pruneValue(Live<wbr>Range &LR, SlotIndex Kill,<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>