<div dir="ltr">*shrug* Sorry, normally I try to help out with these things, but I've exhausted my time budget for this kind of thing.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 4:35 PM, Krzysztof Parzyszek <span dir="ltr"><<a href="mailto:kparzysz@codeaurora.org" target="_blank">kparzysz@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is there any known workaround for this?<br>
<br>
-Krzysztof<span class=""><br>
<br>
<br>
On 8/31/2016 5:37 PM, Reid Kleckner wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
This causes MSVC 2013 to ICE:<br>
<a href="http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/9998/steps/build%20stage%201/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/build<wbr>ers/clang-x86-win2008-selfhost<wbr>/builds/9998/steps/build%<wbr>20stage%201/logs/stdio</a><br>
<br>
You would have received email but the bot was broken for *other* reasons<br>
relating to ELFDumper.cpp, which I hope Saleem dealt with.<br>
<br>
On Wed, Aug 31, 2016 at 11:02 AM, Krzysztof Parzyszek via llvm-commits<br></span><div><div class="h5">
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llv<wbr>m.org</a>>> wrote:<br>
<br>
    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>
    <<a href="http://llvm.org/viewvc/llvm-project?rev=280268&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-p<wbr>roject?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:<br>
    <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>
    <<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-p<wbr>roject/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<br>
    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<br>
    Indices. The<br>
    -    /// points in the @p Indices array must be jointly dominated by<br>
    existing<br>
    -    /// defs in @p LR. PHI-defs are added as needed to maintain SSA<br>
    form.<br>
    +    /// points in the @p Indices array must be jointly dominated by<br>
    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<br>
    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<br>
    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<br>
    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:<br>
    <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>
    <<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-p<wbr>roject/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<br>
    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></div></div>
    <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llv<wbr>m.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>
    <<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><wbr>><br>
<br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation<br>
</font></span></blockquote></div><br></div>