[llvm-commits] [llvm-gcc-4.2] r51314 - in /llvm-gcc-4.2/trunk/gcc: ipa-inline.c passes.c
Duncan Sands
baldrick at free.fr
Tue May 20 04:07:38 PDT 2008
Author: baldrick
Date: Tue May 20 06:07:25 2008
New Revision: 51314
URL: http://llvm.org/viewvc/llvm-project?rev=51314&view=rev
Log:
Reapply the turn-off-all-gcc-optimization-passes patch
(except for inlining of always_inline functions), but
tweaked so there are no warnings and (hopefully) no more
problems with undefined symbols when bootstrapping.
Modified:
llvm-gcc-4.2/trunk/gcc/ipa-inline.c
llvm-gcc-4.2/trunk/gcc/passes.c
Modified: llvm-gcc-4.2/trunk/gcc/ipa-inline.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ipa-inline.c?rev=51314&r1=51313&r2=51314&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ipa-inline.c (original)
+++ llvm-gcc-4.2/trunk/gcc/ipa-inline.c Tue May 20 06:07:25 2008
@@ -941,7 +941,11 @@
/* At the moment, no IPA passes change function bodies before inlining.
Save some time by not recomputing function body sizes if early inlining
already did so. */
+ /* LLVM local begin - Don't rely on pass_early_ipa_inline being run. */
+#ifndef ENABLE_LLVM
if (!flag_early_inlining)
+#endif
+ /* LLVM local end */
node->local.self_insns = node->global.insns
= estimate_num_insns (node->decl);
@@ -1028,9 +1032,19 @@
overall_insns - old_insns);
}
+ /* LLVM local begin */
+#ifdef ENABLE_LLVM
+ if (0)
+#endif
+ /* LLVM local end*/
if (!flag_really_no_inline)
cgraph_decide_inlining_of_small_functions ();
+ /* LLVM local begin */
+#ifdef ENABLE_LLVM
+ if (0)
+#endif
+ /* LLVM local end*/
if (!flag_really_no_inline
&& flag_inline_functions_called_once)
{
@@ -1148,6 +1162,11 @@
}
/* Now do the automatic inlining. */
+ /* LLVM local begin */
+#ifdef ENABLE_LLVM
+ if (0)
+#endif
+ /* LLVM local end */
if (!flag_really_no_inline)
for (e = node->callees; e; e = e->next_callee)
if (e->callee->local.inlinable
Modified: llvm-gcc-4.2/trunk/gcc/passes.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/passes.c?rev=51314&r1=51313&r2=51314&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/passes.c (original)
+++ llvm-gcc-4.2/trunk/gcc/passes.c Tue May 20 06:07:25 2008
@@ -481,18 +481,20 @@
#define NEXT_PASS(PASS) (p = next_pass_1 (p, &PASS))
/* Interprocedural optimization passes. */
p = &all_ipa_passes;
+ /* LLVM local begin */
+#ifndef ENABLE_LLVM
NEXT_PASS (pass_early_ipa_inline);
NEXT_PASS (pass_early_local_passes);
NEXT_PASS (pass_ipa_cp);
-/* LLVM LOCAL begin */
+#endif
+ NEXT_PASS (pass_ipa_inline); /* LLVM: inline functions marked always_inline */
#ifndef ENABLE_LLVM
- NEXT_PASS (pass_ipa_inline);
NEXT_PASS (pass_ipa_reference);
NEXT_PASS (pass_ipa_pure_const);
NEXT_PASS (pass_ipa_type_escape);
NEXT_PASS (pass_ipa_pta);
#endif
-/* LLVM LOCAL end */
+ /* LLVM local end */
*p = NULL;
/* All passes needed to lower the function into shape optimizers can
@@ -504,9 +506,9 @@
NEXT_PASS (pass_lower_cf);
NEXT_PASS (pass_lower_eh);
NEXT_PASS (pass_build_cfg);
- NEXT_PASS (pass_lower_complex_O0);
/* LLVM LOCAL begin */
#ifndef ENABLE_LLVM
+ NEXT_PASS (pass_lower_complex_O0);
NEXT_PASS (pass_lower_vector);
#endif
/* LLVM LOCAL end */
@@ -518,16 +520,6 @@
/* LLVM LOCAL end */
*p = NULL;
- p = &pass_early_local_passes.sub;
- /* LLVM LOCAL begin */
-#ifndef ENABLE_LLVM
- NEXT_PASS (pass_tree_profile);
-#endif
- /* LLVM LOCAL end */
- NEXT_PASS (pass_cleanup_cfg);
- NEXT_PASS (pass_rebuild_cgraph_edges);
- *p = NULL;
-
/* LLVM LOCAL begin */
#ifdef ENABLE_LLVM
p = &all_extra_lowering_passes;
@@ -539,6 +531,14 @@
#endif
/* LLVM LOCAL end */
+ /* LLVM LOCAL begin - Do not pull in symbols. */
+#ifndef ENABLE_LLVM
+ p = &pass_early_local_passes.sub;
+ NEXT_PASS (pass_tree_profile);
+ NEXT_PASS (pass_cleanup_cfg);
+ NEXT_PASS (pass_rebuild_cgraph_edges);
+ *p = NULL;
+
p = &all_passes;
NEXT_PASS (pass_fixup_cfg);
NEXT_PASS (pass_init_datastructures);
@@ -684,8 +684,6 @@
NEXT_PASS (pass_dce_loop);
*p = NULL;
- /* LLVM LOCAL begin */
-#ifndef ENABLE_LLVM
p = &pass_loop2.sub;
NEXT_PASS (pass_rtl_loop_init);
NEXT_PASS (pass_rtl_move_loop_invariants);
@@ -761,7 +759,7 @@
NEXT_PASS (pass_final);
*p = NULL;
#endif
- /* LLVM LOCAL end */
+ /* LLVM local end */
#undef NEXT_PASS
@@ -775,11 +773,12 @@
register_dump_files (all_extra_lowering_passes, false,
PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh
| PROP_cfg);
-#endif
- /* LLVM LOCAL end */
+#else
register_dump_files (all_passes, false,
PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh
| PROP_cfg);
+#endif
+ /* LLVM LOCAL end */
}
static unsigned int last_verified;
More information about the llvm-commits
mailing list