<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 23, 2015 at 8:45 AM, Alexander Kornienko via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Tue, Sep 1, 2015 at 12:24 AM, JF Bastien via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: jfb<br>
Date: Mon Aug 31 17:24:11 2015<br>
New Revision: 246500<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=246500&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=246500&view=rev</a><br>
Log:<br>
WebAssembly: generate load/store<br>
<br>
Summary: This handles all load/store operations that WebAssembly defines, and handles those necessary for C++ such as i1. I left a FIXME for outstanding features which aren't required for now.<br>
<br>
Reviewers: sunfish<br>
<br>
Subscribers: jfb, llvm-commits, dschuff<br>
<br>
Added:<br>
    llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll<br>
    llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll<br>
    llvm/trunk/test/CodeGen/WebAssembly/load.ll<br>
    llvm/trunk/test/CodeGen/WebAssembly/store-trunc.ll<br>
    llvm/trunk/test/CodeGen/WebAssembly/store.ll<br>
Modified:<br>
    llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp<br>
    llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp<br>
    llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrMemory.td<br>
<br>
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=246500&r1=246499&r2=246500&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=246500&r1=246499&r2=246500&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp Mon Aug 31 17:24:11 2015<br>
@@ -40,6 +40,7 @@ using namespace llvm;<br>
 namespace {<br>
<br>
 class WebAssemblyAsmPrinter final : public AsmPrinter {<br>
+  bool hasAddr64;<br></blockquote><div><br></div></div></div><div>This variable can be read without being initialized (fixed in r248388, but you probably need to look at why is it read before being initialized, what the right initial value is, etc.).</div></div></div></div></blockquote><div><br></div><div>It was being read before being initialized because it was expected to be initialized in runOnMachineFunction, but runOnMachineFunction wasn't getting called since this testcase has no functions. This is now fixed in r248394.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Also, LLVM naming convention is to start data member names with a capital character.</div></div></div></div></blockquote><div><br></div><div>r248394 also fixes this.<br><br></div><div>Thanks!<br><br></div><div>Dan<br></div></div></div></div>