[llvm] r280268 - Add an optional parameter with a list of undefs to extendToIndices

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 17:14:19 PDT 2016


*shrug* Sorry, normally I try to help out with these things, but I've
exhausted my time budget for this kind of thing.

On Wed, Aug 31, 2016 at 4:35 PM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:

> Is there any known workaround for this?
>
> -Krzysztof
>
>
> On 8/31/2016 5:37 PM, Reid Kleckner wrote:
>
>> This causes MSVC 2013 to ICE:
>> http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost
>> /builds/9998/steps/build%20stage%201/logs/stdio
>>
>> You would have received email but the bot was broken for *other* reasons
>> relating to ELFDumper.cpp, which I hope Saleem dealt with.
>>
>> On Wed, Aug 31, 2016 at 11:02 AM, Krzysztof Parzyszek via llvm-commits
>> <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
>>
>>     Author: kparzysz
>>     Date: Wed Aug 31 13:02:19 2016
>>     New Revision: 280268
>>
>>     URL: http://llvm.org/viewvc/llvm-project?rev=280268&view=rev
>>     <http://llvm.org/viewvc/llvm-project?rev=280268&view=rev>
>>     Log:
>>     Add an optional parameter with a list of undefs to extendToIndices
>>
>>     Modified:
>>         llvm/trunk/include/llvm/CodeGen/LiveIntervalAnalysis.h
>>         llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
>>
>>     Modified: llvm/trunk/include/llvm/CodeGen/LiveIntervalAnalysis.h
>>     URL:
>>     http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/
>> CodeGen/LiveIntervalAnalysis.h?rev=280268&r1=280267&r2=280268&view=diff
>>     <http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm
>> /CodeGen/LiveIntervalAnalysis.h?rev=280268&r1=280267&r2=280268&view=diff>
>>     ============================================================
>> ==================
>>     --- llvm/trunk/include/llvm/CodeGen/LiveIntervalAnalysis.h (original)
>>     +++ llvm/trunk/include/llvm/CodeGen/LiveIntervalAnalysis.h Wed Aug
>>     31 13:02:19 2016
>>     @@ -164,14 +164,19 @@ extern cl::opt<bool> UseSegmentSetForPhy
>>          void shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg);
>>
>>          /// Extend the live range @p LR to reach all points in @p
>>     Indices. The
>>     -    /// points in the @p Indices array must be jointly dominated by
>>     existing
>>     -    /// defs in @p LR. PHI-defs are added as needed to maintain SSA
>>     form.
>>     +    /// points in the @p Indices array must be jointly dominated by
>>     the union
>>     +    /// of the existing defs in @p LR and points in @p Undefs.
>>     +    ///
>>     +    /// PHI-defs are added as needed to maintain SSA form.
>>          ///
>>          /// If a SlotIndex in @p Indices is the end index of a basic
>>     block, @p LR
>>          /// will be extended to be live out of the basic block.
>>     +    /// If a SlotIndex in @p Indices is jointy dominated only by
>>     points in
>>     +    /// @p Undefs, the live range will not be extended to that point.
>>          ///
>>          /// See also LiveRangeCalc::extend().
>>     -    void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices);
>>     +    void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices,
>>     +                         ArrayRef<SlotIndex> Undefs = {});
>>
>>          /// If @p LR has a live value at @p Kill, prune its live range
>>     by removing
>>          /// any liveness reachable from Kill. Add live range end points
>> to
>>
>>     Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
>>     URL:
>>     http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/
>> LiveIntervalAnalysis.cpp?rev=280268&r1=280267&r2=280268&view=diff
>>     <http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/
>> LiveIntervalAnalysis.cpp?rev=280268&r1=280267&r2=280268&view=diff>
>>     ============================================================
>> ==================
>>     --- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)
>>     +++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Wed Aug 31
>>     13:02:19 2016
>>     @@ -568,11 +568,12 @@ void LiveIntervals::shrinkToUses(LiveInt
>>      }
>>
>>      void LiveIntervals::extendToIndices(LiveRange &LR,
>>     -                                    ArrayRef<SlotIndex> Indices) {
>>     +                                    ArrayRef<SlotIndex> Indices,
>>     +                                    ArrayRef<SlotIndex> Undefs) {
>>        assert(LRCalc && "LRCalc not initialized.");
>>        LRCalc->reset(MF, getSlotIndexes(), DomTree,
>> &getVNInfoAllocator());
>>        for (unsigned i = 0, e = Indices.size(); i != e; ++i)
>>     -    LRCalc->extend(LR, Indices[i], /*PhysReg=*/0, /*Undefs=*/{});
>>     +    LRCalc->extend(LR, Indices[i], /*PhysReg=*/0, Undefs);
>>      }
>>
>>      void LiveIntervals::pruneValue(LiveRange &LR, SlotIndex Kill,
>>
>>
>>     _______________________________________________
>>     llvm-commits mailing list
>>     llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
>>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
>>
>>
>>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by The Linux Foundation
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160831/8d0932cb/attachment.html>


More information about the llvm-commits mailing list