[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