bridge: don't zero temporary variable unnecessarily
If the frontend doesn't ask for zeroing a temporary variable, we
don't need to do that. We need to return a statement, so just
make a dummy one.
Change-Id: Ib5bbb8b6e2e360856400ce6383819e9ca008d709
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/183265
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/bridge/go-llvm.cpp b/bridge/go-llvm.cpp
index b779012..bc18b97 100644
--- a/bridge/go-llvm.cpp
+++ b/bridge/go-llvm.cpp
@@ -2299,7 +2299,11 @@
return tvar;
}
tvar->markAsTemporary();
- Bstatement *is = init_statement(function, tvar, binit);
+ Bstatement *is;
+ if (binit)
+ is = init_statement(function, tvar, binit);
+ else
+ is = statement_list({}); // dummy
*pstatement = is;
return tvar;
}