summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-01 21:29:55 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:02:31 -0700
commit6c1e80b75871f7fd2bc6143d535766317444b160 (patch)
treed1756afb581af3a82bce9ee4228ffc4c5426ad5c /compile-i386.c
parentAdd "select" expression. (diff)
downloadsparse-6c1e80b75871f7fd2bc6143d535766317444b160.tar.gz
sparse-6c1e80b75871f7fd2bc6143d535766317444b160.tar.bz2
sparse-6c1e80b75871f7fd2bc6143d535766317444b160.zip
Make expression expansion calculate the "cost" of the
expression. This is just a very high-level cost, mainly distinguishing between "safe" and "unsafe" operations, so that we can determine if we can turn a C conditional into a select statement, or a logical op into one without short-ciruiting.
Diffstat (limited to 'compile-i386.c')
-rw-r--r--compile-i386.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/compile-i386.c b/compile-i386.c
index dace971..2b379f0 100644
--- a/compile-i386.c
+++ b/compile-i386.c
@@ -2121,6 +2121,7 @@ static struct storage *x86_expression(struct expression *expr)
case EXPR_BINOP:
case EXPR_COMMA:
case EXPR_LOGICAL:
+ case EXPR_SAFELOGICAL:
return emit_binop(expr);
case EXPR_PREOP:
return x86_preop(expr);