Commit 5e4ee659a6

Andrew Kelley <superjoe30@gmail.com>
2016-12-07 06:35:39
delete unused builtin function stuff
1 parent c0b2fe4
Changed files (2)
src/all_types.hpp
@@ -1049,8 +1049,6 @@ struct BuiltinFnEntry {
     BuiltinFnId id;
     Buf name;
     size_t param_count;
-    TypeTableEntry *return_type;
-    TypeTableEntry **param_types;
     uint32_t ref_count;
     LLVMValueRef fn_val;
 };
src/codegen.cpp
@@ -2960,25 +2960,18 @@ static void define_builtin_types(CodeGen *g) {
 }
 
 
-static BuiltinFnEntry *create_builtin_fn(CodeGen *g, BuiltinFnId id, const char *name) {
+static BuiltinFnEntry *create_builtin_fn(CodeGen *g, BuiltinFnId id, const char *name, size_t count) {
     BuiltinFnEntry *builtin_fn = allocate<BuiltinFnEntry>(1);
     buf_init_from_str(&builtin_fn->name, name);
     builtin_fn->id = id;
-    g->builtin_fn_table.put(&builtin_fn->name, builtin_fn);
-    return builtin_fn;
-}
-
-static BuiltinFnEntry *create_builtin_fn_with_arg_count(CodeGen *g, BuiltinFnId id, const char *name, size_t count) {
-    BuiltinFnEntry *builtin_fn = create_builtin_fn(g, id, name);
     builtin_fn->param_count = count;
-    builtin_fn->param_types = allocate<TypeTableEntry *>(count);
+    g->builtin_fn_table.put(&builtin_fn->name, builtin_fn);
     return builtin_fn;
 }
 
 static void define_builtin_fns(CodeGen *g) {
     {
-        BuiltinFnEntry *builtin_fn = create_builtin_fn_with_arg_count(g, BuiltinFnIdBreakpoint, "breakpoint", 0);
-        builtin_fn->return_type = g->builtin_types.entry_void;
+        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdBreakpoint, "breakpoint", 0);
         builtin_fn->ref_count = 1;
 
         LLVMTypeRef fn_type = LLVMFunctionType(LLVMVoidType(), nullptr, 0, false);
@@ -2988,33 +2981,27 @@ static void define_builtin_fns(CodeGen *g) {
         g->trap_fn_val = builtin_fn->fn_val;
     }
     {
-        BuiltinFnEntry *builtin_fn = create_builtin_fn_with_arg_count(g, BuiltinFnIdReturnAddress,
+        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdReturnAddress,
                 "returnAddress", 0);
-        builtin_fn->return_type = get_pointer_to_type(g, g->builtin_types.entry_u8, true);
+        TypeTableEntry *return_type = get_pointer_to_type(g, g->builtin_types.entry_u8, true);
 
-        LLVMTypeRef fn_type = LLVMFunctionType(builtin_fn->return_type->type_ref,
+        LLVMTypeRef fn_type = LLVMFunctionType(return_type->type_ref,
                 &g->builtin_types.entry_i32->type_ref, 1, false);
         builtin_fn->fn_val = LLVMAddFunction(g->module, "llvm.returnaddress", fn_type);
         assert(LLVMGetIntrinsicID(builtin_fn->fn_val));
     }
     {
-        BuiltinFnEntry *builtin_fn = create_builtin_fn_with_arg_count(g, BuiltinFnIdFrameAddress,
+        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdFrameAddress,
                 "frameAddress", 0);
-        builtin_fn->return_type = get_pointer_to_type(g, g->builtin_types.entry_u8, true);
+        TypeTableEntry *return_type = get_pointer_to_type(g, g->builtin_types.entry_u8, true);
 
-        LLVMTypeRef fn_type = LLVMFunctionType(builtin_fn->return_type->type_ref,
+        LLVMTypeRef fn_type = LLVMFunctionType(return_type->type_ref,
                 &g->builtin_types.entry_i32->type_ref, 1, false);
         builtin_fn->fn_val = LLVMAddFunction(g->module, "llvm.frameaddress", fn_type);
         assert(LLVMGetIntrinsicID(builtin_fn->fn_val));
     }
     {
-        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdMemcpy, "memcpy");
-        builtin_fn->return_type = g->builtin_types.entry_void;
-        builtin_fn->param_count = 3;
-        builtin_fn->param_types = allocate<TypeTableEntry *>(builtin_fn->param_count);
-        builtin_fn->param_types[0] = nullptr; // manually checked later
-        builtin_fn->param_types[1] = nullptr; // manually checked later
-        builtin_fn->param_types[2] = g->builtin_types.entry_usize;
+        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdMemcpy, "memcpy", 3);
         builtin_fn->ref_count = 1;
 
         LLVMTypeRef param_types[] = {
@@ -3032,13 +3019,7 @@ static void define_builtin_fns(CodeGen *g) {
         g->memcpy_fn_val = builtin_fn->fn_val;
     }
     {
-        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdMemset, "memset");
-        builtin_fn->return_type = g->builtin_types.entry_void;
-        builtin_fn->param_count = 3;
-        builtin_fn->param_types = allocate<TypeTableEntry *>(builtin_fn->param_count);
-        builtin_fn->param_types[0] = nullptr; // manually checked later
-        builtin_fn->param_types[1] = g->builtin_types.entry_u8;
-        builtin_fn->param_types[2] = g->builtin_types.entry_usize;
+        BuiltinFnEntry *builtin_fn = create_builtin_fn(g, BuiltinFnIdMemset, "memset", 3);
         builtin_fn->ref_count = 1;
 
         LLVMTypeRef param_types[] = {
@@ -3055,38 +3036,38 @@ static void define_builtin_fns(CodeGen *g) {
 
         g->memset_fn_val = builtin_fn->fn_val;
     }
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSizeof, "sizeOf", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdAlignof, "alignOf", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdMaxValue, "maxValue", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdMinValue, "minValue", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdMemberCount, "memberCount", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdTypeof, "typeOf", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdAddWithOverflow, "addWithOverflow", 4);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSubWithOverflow, "subWithOverflow", 4);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdMulWithOverflow, "mulWithOverflow", 4);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdShlWithOverflow, "shlWithOverflow", 4);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCInclude, "cInclude", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCDefine, "cDefine", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCUndef, "cUndef", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCompileVar, "compileVar", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdStaticEval, "staticEval", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCtz, "ctz", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdClz, "clz", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdImport, "import", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCImport, "cImport", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdErrName, "errorName", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdEmbedFile, "embedFile", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCmpExchange, "cmpxchg", 5);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdFence, "fence", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdDivExact, "divExact", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdTruncate, "truncate", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdCompileErr, "compileError", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdIntType, "intType", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdUnreachable, "unreachable", 0);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSetFnTest, "setFnTest", 1);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSetFnVisible, "setFnVisible", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSetFnNoInline, "setFnNoInline", 2);
-    create_builtin_fn_with_arg_count(g, BuiltinFnIdSetDebugSafety, "setDebugSafety", 2);
+    create_builtin_fn(g, BuiltinFnIdSizeof, "sizeOf", 1);
+    create_builtin_fn(g, BuiltinFnIdAlignof, "alignOf", 1);
+    create_builtin_fn(g, BuiltinFnIdMaxValue, "maxValue", 1);
+    create_builtin_fn(g, BuiltinFnIdMinValue, "minValue", 1);
+    create_builtin_fn(g, BuiltinFnIdMemberCount, "memberCount", 1);
+    create_builtin_fn(g, BuiltinFnIdTypeof, "typeOf", 1);
+    create_builtin_fn(g, BuiltinFnIdAddWithOverflow, "addWithOverflow", 4);
+    create_builtin_fn(g, BuiltinFnIdSubWithOverflow, "subWithOverflow", 4);
+    create_builtin_fn(g, BuiltinFnIdMulWithOverflow, "mulWithOverflow", 4);
+    create_builtin_fn(g, BuiltinFnIdShlWithOverflow, "shlWithOverflow", 4);
+    create_builtin_fn(g, BuiltinFnIdCInclude, "cInclude", 1);
+    create_builtin_fn(g, BuiltinFnIdCDefine, "cDefine", 2);
+    create_builtin_fn(g, BuiltinFnIdCUndef, "cUndef", 1);
+    create_builtin_fn(g, BuiltinFnIdCompileVar, "compileVar", 1);
+    create_builtin_fn(g, BuiltinFnIdStaticEval, "staticEval", 1);
+    create_builtin_fn(g, BuiltinFnIdCtz, "ctz", 1);
+    create_builtin_fn(g, BuiltinFnIdClz, "clz", 1);
+    create_builtin_fn(g, BuiltinFnIdImport, "import", 1);
+    create_builtin_fn(g, BuiltinFnIdCImport, "cImport", 1);
+    create_builtin_fn(g, BuiltinFnIdErrName, "errorName", 1);
+    create_builtin_fn(g, BuiltinFnIdEmbedFile, "embedFile", 1);
+    create_builtin_fn(g, BuiltinFnIdCmpExchange, "cmpxchg", 5);
+    create_builtin_fn(g, BuiltinFnIdFence, "fence", 1);
+    create_builtin_fn(g, BuiltinFnIdDivExact, "divExact", 2);
+    create_builtin_fn(g, BuiltinFnIdTruncate, "truncate", 2);
+    create_builtin_fn(g, BuiltinFnIdCompileErr, "compileError", 1);
+    create_builtin_fn(g, BuiltinFnIdIntType, "intType", 2);
+    create_builtin_fn(g, BuiltinFnIdUnreachable, "unreachable", 0);
+    create_builtin_fn(g, BuiltinFnIdSetFnTest, "setFnTest", 1);
+    create_builtin_fn(g, BuiltinFnIdSetFnVisible, "setFnVisible", 2);
+    create_builtin_fn(g, BuiltinFnIdSetFnNoInline, "setFnNoInline", 2);
+    create_builtin_fn(g, BuiltinFnIdSetDebugSafety, "setDebugSafety", 2);
 }
 
 static void init(CodeGen *g, Buf *source_path) {