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

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 18:15:15 PDT 2016


Haha. Ok.

On 8/31/2016 7:14 PM, Reid Kleckner wrote:
> *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 <mailto: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
>         <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>
>         <mailto: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>
>             <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>
>
>         <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>
>
>         <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>
>         <mailto: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>
>             <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
>
>



More information about the llvm-commits mailing list