                         return @loadNullEjsValue() # this isn't properly typed...  dunno what to do about this here
                 else if typeof n.raw is "string" and (n.raw[0] is '"' or n.raw[0] is "'")
                         debug.log "literal string: #{n.value}"
-                        c = llvm.IRBuilder.createGlobalStringPtr n.value, "strconst"
-                        strcall = llvm.IRBuilder.createCall @ejs.string_new_utf8, [c], "strtmp"
+                        c = irbuilder.createGlobalStringPtr n.value, "strconst"
+                        strcall = irbuilder.createCall @ejs.string_new_utf8, [c], "strtmp"
                         debug.log "strcall = #{strcall}"
                         return strcall
                 else if typeof n.raw is "string" and n.raw[0] is '/'
                         debug.log "literal regexp: #{n.raw}"
-                        c = llvm.IRBuilder.createGlobalStringPtr n.raw, "strconst"
-                        regexpcall = llvm.IRBuilder.createCall @ejs.regexp_new_utf8, [c], "regexptmp"
+                        c = irbuilder.createGlobalStringPtr n.raw, "strconst"
+                        regexpcall = irbuilder.createCall @ejs.regexp_new_utf8, [c], "regexptmp"
                         debug.log "regexpcall = #{strcall}"
                         return regexpcall
                 else if typeof n.value is "number"
                         debug.log "literal number: #{n.value}"
                         c = llvm.ConstantFP.getDouble n.value
-                        return llvm.IRBuilder.createCall @ejs.number_new, [c], "numtmp"
+                        return irbuilder.createCall @ejs.number_new, [c], "numtmp"
                 else if typeof n.value is "boolean"
                         debug.log "literal boolean: #{n.value}"
                         c = llvm.Constant.getIntegerValue boolType, (if n.value then 1 else 0)
-                        return llvm.IRBuilder.createCall @ejs.boolean_new, [c], "booltmp"
-                console.warn "n.raw[0] = #{n.raw[0]}"
+                        return irbuilder.createCall @ejs.boolean_new, [c], "booltmp"
                 throw "Internal error: unrecognized literal of type #{typeof n.value}"
 
         visitThrow: (n) ->
                 arg = @visit n.argument
-                return llvm.IRBuilder.createCall @ejs.throw, [arg], ""
+                return irbuilder.createCall @ejs.throw, [arg], ""
 
 class AddFunctionsVisitor extends NodeVisitor
         constructor: (@module) ->

                iife_bb = null
                
                if n.fromIIFE
                        insertBlock = llvm.IRBuilder.getInsertBlock()
                        insertFunc = insertBlock.parent
                        
                        iife_rv = @createAlloca @currentFunction, EjsValueType, "%iife_rv"

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

        debug.log "before closure conversion"
        debug.log -> escodegen.generate tree
        
        tree = closure_conversion.convert tree

