[llvm] r257620 - [WebAssemly] Invalidate liveness in CFG stackifier

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 13:54:45 PST 2016


On Wed, Jan 13, 2016 at 9:10 AM, Derek Schuff via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: dschuff
> Date: Wed Jan 13 11:10:28 2016
> New Revision: 257620
>
> URL: http://llvm.org/viewvc/llvm-project?rev=257620&view=rev
> Log:
> [WebAssemly] Invalidate liveness in CFG stackifier
>
> WebAssemblyCFGStackify does not track liveness for EXPR_STACK, causing
> verifier failure if liveness has not already been invalidated.
>

Got a test for this?


>
> Modified:
>     llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
>
> Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp?rev=257620&r1=257619&r2=257620&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp (original)
> +++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp Wed Jan
> 13 11:10:28 2016
> @@ -34,6 +34,7 @@
>  #include "llvm/CodeGen/MachineFunction.h"
>  #include "llvm/CodeGen/MachineInstrBuilder.h"
>  #include "llvm/CodeGen/MachineLoopInfo.h"
> +#include "llvm/CodeGen/MachineRegisterInfo.h"
>  #include "llvm/CodeGen/Passes.h"
>  #include "llvm/Support/Debug.h"
>  #include "llvm/Support/raw_ostream.h"
> @@ -475,7 +476,9 @@ bool WebAssemblyCFGStackify::runOnMachin
>
>    const auto &MLI = getAnalysis<MachineLoopInfo>();
>    auto &MDT = getAnalysis<MachineDominatorTree>();
> +  // Liveness is not tracked for EXPR_STACK physreg.
>    const auto &TII =
> *MF.getSubtarget<WebAssemblySubtarget>().getInstrInfo();
> +  MF.getRegInfo().invalidateLiveness();
>
>    // RPO sorting needs all loops to be single-entry.
>    EliminateMultipleEntryLoops(MF, MLI);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160113/f9d862ee/attachment.html>


More information about the llvm-commits mailing list