[WebAssembly] Disable some WebAssembly-specific optimization passes at -O0.

llvm-svn: 258127
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
index b290b4b..9228ecb 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
@@ -140,7 +140,8 @@
     addPass(createAtomicExpandPass(TM));
 
   // Optimize "returned" function attributes.
-  addPass(createWebAssemblyOptimizeReturned());
+  if (getOptLevel() != CodeGenOpt::None)
+    addPass(createWebAssemblyOptimizeReturned());
 
   TargetPassConfig::addIRPasses();
 }
@@ -165,7 +166,8 @@
   TargetPassConfig::addPreRegAlloc();
 
   // Prepare store instructions for register stackifying.
-  addPass(createWebAssemblyStoreResults());
+  if (getOptLevel() != CodeGenOpt::None)
+    addPass(createWebAssemblyStoreResults());
 }
 
 void WebAssemblyPassConfig::addPostRegAlloc() {
@@ -206,5 +208,6 @@
   addPass(createWebAssemblyRegNumbering());
 
   // Perform the very last peephole optimizations on the code.
-  addPass(createWebAssemblyPeephole());
+  if (getOptLevel() != CodeGenOpt::None)
+    addPass(createWebAssemblyPeephole());
 }