Revision: 126125 Author: johannes Date: 2007-04-14 17:14:13 -0700 (Sat, 14 Apr 2007)
Log Message: ----------- Make llvm honor -fno-builtin. Modified Paths: -------------- apple-local/branches/llvm/gcc/c-common.c apple-local/branches/llvm/gcc/c-common.h apple-local/branches/llvm/gcc/c-objc-common.h apple-local/branches/llvm/gcc/cp/cp-objcp-common.h apple-local/branches/llvm/gcc/langhooks-def.h apple-local/branches/llvm/gcc/langhooks.h apple-local/branches/llvm/gcc/llvm-backend.cpp Modified: apple-local/branches/llvm/gcc/c-common.c =================================================================== --- apple-local/branches/llvm/gcc/c-common.c 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/c-common.c 2007-04-15 00:14:13 UTC (rev 126125) @@ -8008,4 +8008,10 @@ } /* APPLE LOCAL end CW asm blocks */ +/* APPLE LOCAL begin define this sensibly in all languages */ +bool c_flag_no_builtin(void) { + return flag_no_builtin; +} +/* APPLE LOCAL end define this sensibly in all languages */ + #include "gt-c-common.h" Modified: apple-local/branches/llvm/gcc/c-common.h =================================================================== --- apple-local/branches/llvm/gcc/c-common.h 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/c-common.h 2007-04-15 00:14:13 UTC (rev 126125) @@ -798,6 +798,8 @@ /* APPLE LOCAL begin IMA built-in decl merging fix (radar 3645899) */ extern bool builtin_function_disabled_p (const char *); /* APPLE LOCAL end */ +/* APPLE LOCAL define this sensibly in all languages */ +extern bool c_flag_no_builtin (void); /* This is the basic parsing function. */ extern void c_parse_file (void); Modified: apple-local/branches/llvm/gcc/c-objc-common.h =================================================================== --- apple-local/branches/llvm/gcc/c-objc-common.h 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/c-objc-common.h 2007-04-15 00:14:13 UTC (rev 126125) @@ -117,6 +117,10 @@ #define LANG_HOOKS_TYPE_PROMOTES_TO c_type_promotes_to #undef LANG_HOOKS_REGISTER_BUILTIN_TYPE #define LANG_HOOKS_REGISTER_BUILTIN_TYPE c_register_builtin_type +/* APPLE LOCAL begin define this sensibly in all languages */ +#undef LANG_HOOKS_FLAG_NO_BUILTIN +#define LANG_HOOKS_FLAG_NO_BUILTIN c_flag_no_builtin +/* APPLE LOCAL end define this sensibly in all languages */ #undef LANG_HOOKS_TO_TARGET_CHARSET #define LANG_HOOKS_TO_TARGET_CHARSET c_common_to_target_charset Modified: apple-local/branches/llvm/gcc/cp/cp-objcp-common.h =================================================================== --- apple-local/branches/llvm/gcc/cp/cp-objcp-common.h 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/cp/cp-objcp-common.h 2007-04-15 00:14:13 UTC (rev 126125) @@ -152,6 +152,10 @@ #define LANG_HOOKS_TYPE_PROMOTES_TO cxx_type_promotes_to #undef LANG_HOOKS_REGISTER_BUILTIN_TYPE #define LANG_HOOKS_REGISTER_BUILTIN_TYPE c_register_builtin_type +/* APPLE LOCAL begin define this sensibly in all languages */ +#undef LANG_HOOKS_FLAG_NO_BUILTIN +#define LANG_HOOKS_FLAG_NO_BUILTIN c_flag_no_builtin +/* APPLE LOCAL end define this sensibly in all languages */ #undef LANG_HOOKS_TO_TARGET_CHARSET #define LANG_HOOKS_TO_TARGET_CHARSET c_common_to_target_charset #undef LANG_HOOKS_GIMPLIFY_EXPR Modified: apple-local/branches/llvm/gcc/langhooks-def.h =================================================================== --- apple-local/branches/llvm/gcc/langhooks-def.h 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/langhooks-def.h 2007-04-15 00:14:13 UTC (rev 126125) @@ -129,6 +129,8 @@ #define LANG_HOOKS_TREE_SIZE lhd_tree_size #define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p #define LANG_HOOKS_BUILTIN_FUNCTION builtin_function +/* APPLE LOCAL define this sensibly for all languages */ +#define LANG_HOOKS_FLAG_NO_BUILTIN hook_bool_void_false #define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset #define LANG_HOOKS_FUNCTION_INIT lhd_do_nothing_f @@ -310,6 +312,8 @@ LANG_HOOKS_GIMPLIFY_EXPR, \ LANG_HOOKS_FOLD_OBJ_TYPE_REF, \ LANG_HOOKS_BUILTIN_FUNCTION, \ +/* APPLE LOCAL define this sensibly for all languages */ \ + LANG_HOOKS_FLAG_NO_BUILTIN, \ } #endif /* GCC_LANG_HOOKS_DEF_H */ Modified: apple-local/branches/llvm/gcc/langhooks.h =================================================================== --- apple-local/branches/llvm/gcc/langhooks.h 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/langhooks.h 2007-04-15 00:14:13 UTC (rev 126125) @@ -434,6 +434,9 @@ enum built_in_class bt_class, const char *library_name, tree attrs); + /* APPLE LOCAL define this sensibly for all languages */ + bool (*flag_no_builtin)(void); + /* Whenever you add entries here, make sure you adjust langhooks-def.h and langhooks.c accordingly. */ }; Modified: apple-local/branches/llvm/gcc/llvm-backend.cpp =================================================================== --- apple-local/branches/llvm/gcc/llvm-backend.cpp 2007-04-14 19:42:51 UTC (rev 126124) +++ apple-local/branches/llvm/gcc/llvm-backend.cpp 2007-04-15 00:14:13 UTC (rev 126125) @@ -64,6 +64,7 @@ #include "tm.h" #include "function.h" #include "tree-inline.h" +#include "langhooks.h" } // Non-zero if bytecode from PCH is successfully read. @@ -298,7 +299,7 @@ if (optimize > 1) { if (flag_inline_trees > 1) // respect -fno-inline-functions PM->add(createFunctionInliningPass()); // Inline small functions - if (flag_unit_at_a_time) + if (flag_unit_at_a_time && !lang_hooks.flag_no_builtin()) PM->add(createSimplifyLibCallsPass()); // Library Call Optimizations if (optimize > 2) _______________________________________________ llvm-commits mailing list [EMAIL PROTECTED] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits