[LLVMdev] Order of operations

Jonathan S. Shapiro shap at eros-os.com
Tue Mar 25 20:32:57 PDT 2008


Given variables a b c d of compatible scalar arithmetic types, consider
the expression:

	a + b + c + d

There are multiple implementation orders for computing this sum, and the
one you want can be dependent on the source language specification. In
particular, the + operation must not be considered commutative if these
are floating point values and we care about error ranges.

It is not obvious to me from the IR specification how the front end can
specify prescriptively that some particular order of operation is
required.

I'm probably missing something very obvious here.


shap




More information about the llvm-dev mailing list