In compilers , straight line code ( that is , sequences of statements without loops or conditional branches ) may be represented by a DAG describing the inputs and outputs of each of the arithmetic operations performed within the code . This representation allows the compiler to perform common subexpression elimination efficiently .