                 result = @createAlloca @currentFunction, EjsValueType, "%update_result"
                 argument = @visit n.argument
                 c = llvm.ConstantFP.getDouble 1
-                num = llvm.IRBuilder.createCall @ejs.number_new, [c], "numtmp"
+                num = irbuilder.createCall @ejs.number_new, [c], "numtmp"
                 if not n.prefix
                         # postfix updates store the argument before the op
-                        llvm.IRBuilder.createStore argument, result
+                        irbuilder.createStore argument, result
 
                 # argument = argument $op 1
-                temp = llvm.IRBuilder.createCall @ejs["binop#{if n.operator is '++' then '+' else '-'}"], [argument, num], "update_temp"
+                temp = irbuilder.createCall @ejs["binop#{if n.operator is '++' then '+' else '-'}"], [argument, num], "update_temp"
                 
                 @storeValueInDest temp, n.argument
                 

        
        #tree = desugar tree
        #debug.log -> escodegen.generate tree
        
        tree = closure_conversion.convert tree


                        callee = @ejs[builtin]
                        if not callee
                                throw "Internal error: unhandled binary operator '#{n.operator}'"
                        rhvalue = irbuilder.createCall callee, [(@visit lhs), rhvalue], "result_#{builtin}"
                
                @storeValueInDest rhvalue, lhs

                # we need to visit lhs after the store so that we load the value, but only if it's used
