greater ZAM optimization of inlined function calls

This commit is contained in:
Vern Paxson 2023-11-06 07:03:17 -08:00 committed by Arne Welzel
parent e3b75ac391
commit b489cfc508
13 changed files with 130 additions and 95 deletions

View file

@ -6,7 +6,7 @@
namespace zeek::detail {
TempVar::TempVar(size_t num, const TypePtr& t, ExprPtr _rhs) : type(t) {
TempVar::TempVar(size_t num, ExprPtr _rhs) {
char buf[8192];
snprintf(buf, sizeof buf, "#%zu", num);
name = buf;
@ -14,6 +14,11 @@ TempVar::TempVar(size_t num, const TypePtr& t, ExprPtr _rhs) : type(t) {
}
void TempVar::SetAlias(IDPtr _alias) {
if ( _alias == alias )
// This can happen when treating function parameters as
// temporary variables.
return;
if ( alias )
reporter->InternalError("Re-aliasing a temporary");