diff options
Diffstat (limited to 'frontends')
| -rw-r--r-- | frontends/ast/genrtlil.cc | 5 | ||||
| -rw-r--r-- | frontends/ast/simplify.cc | 2 | 
2 files changed, 5 insertions, 2 deletions
| diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index ed709aa33..1fe74bb72 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -1087,6 +1087,11 @@ void AstNode::detectSignWidthWorker(int &width_hint, bool &sign_hint, bool *foun  			}  			break;  		} +		if (str == "\\$size" || str == "\\$bits" || str == "\\$high" || str == "\\$low" || str == "\\$left" || str == "\\$right") { +			width_hint = 32; +			sign_hint = true; +			break; +		}  		if (current_scope.count(str))  		{  			// This width detection is needed for function calls which are diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 777f46bd7..cb47e641a 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -1389,8 +1389,6 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,  	if (const_fold && type == AST_CASE)  	{ -		int width_hint; -		bool sign_hint;  		detectSignWidth(width_hint, sign_hint);  		while (children[0]->simplify(const_fold, at_zero, in_lvalue, stage, width_hint, sign_hint, in_param)) { }  		if (children[0]->type == AST_CONSTANT && children[0]->bits_only_01()) { | 
