ChangeLog.jit 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. 2014-10-29 David Malcolm <dmalcolm@redhat.com>
  2. * doc/install.texi (Tools/packages necessary for modifying GCC):
  3. Specify that Sphinx version 1.0 or later is required. Wrap .rst
  4. inside an @file command.
  5. 2014-10-22 David Malcolm <dmalcolm@redhat.com>
  6. * cgraph.h: Drop now-redundant prototype of ipa_cp_c_finalize,
  7. since trunk added this in ipa-prop.h.
  8. * ipa-icf.c (ipa_icf_driver): Set optimizer to NULL when
  9. done.
  10. 2014-10-20 David Malcolm <dmalcolm@redhat.com>
  11. * doc/install.texi (Tools/packages necessary for modifying GCC):
  12. Add Sphinx.
  13. 2014-10-20 David Malcolm <dmalcolm@redhat.com>
  14. * Makefile.in (pkgconfigdir): Drop this.
  15. (installdirs): Likewise.
  16. * configure.ac (gcc_version): Don't AC_SUBST this.
  17. * configure: Regenerate.
  18. 2014-10-17 David Malcolm <dmalcolm@redhat.com>
  19. * Makefile.in (FULL_DRIVER_NAME): New variable, adapted from the
  20. install-driver target. New target, a symlink within the builddir,
  21. linked to "xgcc", for use when running the JIT library from the
  22. builddir.
  23. (MOSTLYCLEANFILES): Add FULL_DRIVER_NAME.
  24. (install-driver): Use $(FULL_DRIVER_NAME) rather than spelling it
  25. out.
  26. (site.exp): Don't set "bindir", as this is no longer needed when
  27. running the jit testsuite.
  28. 2014-10-13 David Malcolm <dmalcolm@redhat.com>
  29. * configure.ac: Update a reference to jit/internal-api.c to
  30. jit/jit-playback.c.
  31. * configure: Regenerate.
  32. 2014-10-07 David Malcolm <dmalcolm@redhat.com>
  33. * Makefile.in (site.exp): When constructing site.exp, add a line
  34. to set "bindir".
  35. * configure.ac: Generate a gcc-driver-name.h file containing
  36. GCC_DRIVER_NAME for the benefit of jit/internal-api.c.
  37. * configure: Regenerate.
  38. 2014-10-03 David Malcolm <dmalcolm@redhat.com>
  39. * diagnostic.c (diagnostic_finish): Free the memory for
  40. context->classify_diagnostic and context->printer, running the
  41. destructor for the latter.
  42. 2014-10-02 David Malcolm <dmalcolm@redhat.com>
  43. * configure: Regenerate, after merger from trunk.
  44. 2014-10-02 David Malcolm <dmalcolm@redhat.com>
  45. * configure.ac (doc_build_sys): New variable, set to "sphinx" if
  46. sphinx is installed, falling back to "texinfo" otherwise.
  47. * configure: Regenerate.
  48. * Makefile.in (doc_build_sys): New.
  49. 2014-09-24 David Malcolm <dmalcolm@redhat.com>
  50. * ChangeLog.jit: Add copyright footer.
  51. 2014-09-24 David Malcolm <dmalcolm@redhat.com>
  52. * cgraph.h (cgraphbuild_c_finalize): Delete prototype of empty
  53. function.
  54. (ipa_c_finalize): Likewise.
  55. (predict_c_finalize): Likewise.
  56. (symtab_c_finalize): Likewise.
  57. (varpool_c_finalize): Likewise.
  58. * cgraph.c (cgraph_c_finalize): Add leading comment. Put return
  59. type on line before function name.
  60. * cgraphunit.c (cgraphunit_c_finalize): Likewise.
  61. * dwarf2out.c (dwarf2out_c_finalize): Likewise.
  62. * gcse.c (gcse_c_finalize): Likewise.
  63. * ipa-cp.c (ipa_cp_c_finalize): Likewise.
  64. * ipa-reference.c (ipa_reference_c_finalize): Likewise.
  65. * params.c (params_c_finalize): Update leading comment to match
  66. format of the others mentioned above.
  67. * cgraphbuild.c (cgraphbuild_c_finalize): Delete empty function.
  68. * ipa.c (ipa_c_finalize): Likewise.
  69. * predict.c (predict_c_finalize): Likewise.
  70. * symtab.c (symtab_c_finalize): Likewise.
  71. * varpool.c (varpool_c_finalize): Likewise.
  72. * toplev.c (toplev::finalize): Remove calls to empty functions
  73. cgraphbuild_c_finalize, ipa_c_finalize, predict_c_finalize,
  74. symtab_c_finalize, varpool_c_finalize.
  75. 2014-09-23 David Malcolm <dmalcolm@redhat.com>
  76. * passes.c (execute_ipa_summary_passes): Fix whitespace when
  77. assigning to current_pass.
  78. (ipa_write_summaries_2): Assign "pass" to "current_pass" global
  79. before calling write_summary hook.
  80. (ipa_write_optimization_summaries_1): Likewise when calling
  81. write_optimization_summary hook.
  82. (ipa_read_summaries_1): Likewise for read_summary hook.
  83. (ipa_read_optimization_summaries_1): Likewise for
  84. read_optimization_summary hook.
  85. (execute_ipa_stmt_fixups): Likewise for stmt_fixup hook.
  86. 2014-09-22 David Malcolm <dmalcolm@redhat.com>
  87. * cgraph.c (cgraph_c_finalize): Remove FIXME.
  88. * timevar.c (timevar_init): Likewise.
  89. 2014-09-18 David Malcolm <dmalcolm@redhat.com>
  90. * Makefile.in (pkgconfigdir): New.
  91. (installdirs): Add creation of $(DESTDIR)$(pkgconfigdir).
  92. * configure.ac (gcc_version): Expose this value for use via
  93. AC_SUBST, since we need it within the new file libgccjit.pc.in.
  94. * configure: Regenerate.
  95. 2014-09-10 David Malcolm <dmalcolm@redhat.com>
  96. * cgraph.c (cgraph_c_finalize): Update to reflect the movement of
  97. many globals into fields of the "symtab" object.
  98. * cgraphunit.c (graphunit_c_finalize): Likewise.
  99. * symtab.c (symtab_c_finalize): Likewise.
  100. * toplev.c (initialize_rtl): Move static local "initialized_once"
  101. into file scope, and rename to...
  102. (rtl_initialized): New variable.
  103. (toplev::finalize): Clear rtl_initialized and
  104. this_target_rtl->target_specific_initialized so that RTL will be
  105. reinitialized when the compiler is run more than once in-process.
  106. 2014-07-14 David Malcolm <dmalcolm@redhat.com>
  107. * cgraph.h (ipa_cp_c_finalize): Add prototype.
  108. * ipa-cp.c (ipa_cp_c_finalize): New.
  109. * toplev.c (toplev::finalize): Add call to ipa_cp_c_finalize.
  110. 2014-05-08 David Malcolm <dmalcolm@redhat.com>
  111. * params.c (global_init_params): Require that params_finished be
  112. false, rather than being idempotent, in favor of purging all state
  113. between toplev invocations, since in a release build
  114. init_ggc_heuristics calls set_param_value_internal, and the
  115. latter assumes that params_finished is true.
  116. (params_c_finalize): New.
  117. * params.h (params_c_finalize): New.
  118. * toplev.c (toplev::finalize): Call params_c_finalize.
  119. 2014-03-24 Tom Tromey <tromey@redhat.com>
  120. * toplev.c (general_init): Initialize input_location.
  121. * input.c (input_location): Initialize to UNKNOWN_LOCATION.
  122. 2014-03-19 Tom Tromey <tromey@redhat.com>
  123. * timevar.h (auto_timevar): New class.
  124. 2014-03-19 Tom Tromey <tromey@redhat.com>
  125. * diagnostic.c (bt_stop): Use toplev::main.
  126. * main.c (main): Update.
  127. * toplev.c (do_compile): Remove argument. Don't check
  128. use_TV_TOTAL.
  129. (toplev::toplev, toplev::~toplev, toplev::start_timevars): New
  130. functions.
  131. (toplev::main): Rename from toplev_main. Update.
  132. (toplev::finalize): Rename from toplev_finalize. Update.
  133. * toplev.h (class toplev): New.
  134. (struct toplev_options): Remove.
  135. (toplev_main, toplev_finalize): Don't declare.
  136. 2014-03-11 David Malcolm <dmalcolm@redhat.com>
  137. * gcse.c (gcse_c_finalize): New, to clear test_insn between
  138. in-process compiles.
  139. * gcse.h (gcse_c_finalize): New.
  140. * toplev.c: Include "gcse.h" so that we can...
  141. (toplev_finalize): Call gcse_c_finalize.
  142. 2014-03-11 David Malcolm <dmalcolm@redhat.com>
  143. * dwarf2out.c (dwarf2out_c_finalize): Release base_types.
  144. 2014-03-10 David Malcolm <dmalcolm@redhat.com>
  145. * ipa-reference.c (ipa_init): Move static bool init_p from here
  146. to...
  147. (ipa_init_p): New file-scope variable, so that it can be reset
  148. when repeatedly invoking the compiler within one process by...
  149. (ipa_reference_c_finalize): New function.
  150. * ipa-reference.h (ipa_reference_c_finalize): New.
  151. * toplev.c (toplev_finalize): Invoke new function
  152. ipa_reference_c_finalize.
  153. 2014-01-24 David Malcolm <dmalcolm@redhat.com>
  154. * timevar.def: Replace TV_CLIENT_CALLBACK with TV_JIT_REPLAY.
  155. 2013-10-11 David Malcolm <dmalcolm@redhat.com>
  156. * doc/install.texi (--enable-shared): Add note contrasting it
  157. with...
  158. (--enable-host-shared): New option.
  159. 2013-10-11 David Malcolm <dmalcolm@redhat.com>
  160. * dumpfile.h (gcc::dump_manager): New class, to hold state
  161. relating to dumpfile management.
  162. (get_dump_file_name): Remove in favor of method of dump_manager.
  163. (dump_initialized_p): Likewise.
  164. (dump_start): Likewise.
  165. (dump_finish): Likewise.
  166. (dump_switch_p): Likewise.
  167. (dump_register): Likewise.
  168. (get_dump_file_info): Likewise.
  169. * context.c (gcc::context::context): Construct the dump_manager
  170. instance.
  171. * context.h (gcc::context::get_dumps): New.
  172. (gcc::context::m_dumps): New.
  173. * coverage.c (coverage_init): Port to dump_manager API.
  174. * dumpfile.c (extra_dump_files): Convert to field of
  175. gcc::dump_manager.
  176. (extra_dump_files_in_use): Likewise.
  177. (extra_dump_files_alloced): Likewise.
  178. (gcc::dump_manager::dump_manager): New.
  179. (dump_register): Convert to...
  180. (gcc::dump_manager::dump_register): ...method, replacing
  181. function-static next_dump with m_next_dump field.
  182. (get_dump_file_info): Convert to...
  183. (gcc::dump_manager::get_dump_file_info): ...method.
  184. (get_dump_file_name): Convert to...
  185. (gcc::dump_manager::get_dump_file_name): ...method.
  186. (dump_start): Convert to...
  187. (gcc::dump_manager::dump_start): ...method.
  188. (dump_finish): Convert to...
  189. (gcc::dump_manager::dump_finish): ...method.
  190. (dump_begin): Replace body with...
  191. (gcc::dump_manager::dump_begin): ...new method.
  192. (dump_phase_enabled_p): Convert to...
  193. (gcc::dump_manager::dump_phase_enabled_p): ...method.
  194. (dump_phase_enabled_p): Convert to...
  195. (gcc::dump_manager::dump_phase_enabled_p): ...method.
  196. (dump_initialized_p): Convert to...
  197. (gcc::dump_manager::dump_initialized_p): ...method.
  198. (dump_flag_name): Replace body with...
  199. (gcc::dump_manager::dump_flag_name): ...new method.
  200. (dump_enable_all): Convert to...
  201. (gcc::dump_manager::dump_enable_all): ...new method.
  202. (opt_info_enable_passes): Convert to...
  203. (gcc::dump_manager::opt_info_enable_passes): ...new method.
  204. (dump_switch_p_1): Convert to...
  205. (gcc::dump_manager::dump_switch_p_1): ...new method.
  206. (dump_switch_p): Convert to...
  207. (gcc::dump_manager::dump_switch_p): ...new method.
  208. (opt_info_switch_p): Port to dump_manager API.
  209. (enable_rtl_dump_file): Likewise.
  210. * opts-global.c (handle_common_deferred_options): Port to new
  211. dump_manager API.
  212. * passes.c (pass_manager::finish_optimization_passes): Likewise.
  213. (pass_manager::register_one_dump_file): Likewise.
  214. (pass_manager::register_pass): Likewise.
  215. (pass_init_dump_file): Likewise.
  216. (pass_fini_dump_file): Likewise.
  217. * statistics.c (statistics_early_init): Likewise.
  218. 2013-10-08 David Malcolm <dmalcolm@redhat.com>
  219. * ipa-inline.c (ipa_inline): Fix leak of "order" when
  220. optimizations are disabled.
  221. 2013-10-08 David Malcolm <dmalcolm@redhat.com>
  222. * coverage.c (coverage_finish): Fix leak of da_file_name.
  223. 2013-10-07 David Malcolm <dmalcolm@redhat.com>
  224. * Makefile.in: Set PICFLAG from configure script; add it to
  225. INTERNAL_CFLAGS.
  226. * configure.ac (--enable-host-shared): Set up PICFLAG rather
  227. than attempting to append -fPIC to CFLAGS, CXXFLAGS, LDFLAGS.
  228. * configure: Regenerate.
  229. 2013-10-03 David Malcolm <dmalcolm@redhat.com>
  230. * Makefile.in (LIBIBERTY): Use pic build of libiberty.a if
  231. configured with --enable-host-shared.
  232. (BUILD_LIBIBERTY): Likewise.
  233. * cgraph.c (cgraph_c_finalize): New.
  234. * cgraph.h (symtab_c_finalize): New declaration.
  235. (cgraph_c_finalize): Likewise.
  236. (cgraphunit_c_finalize): Likewise.
  237. (cgraphbuild_c_finalize): Likewise.
  238. (ipa_c_finalize): Likewise.
  239. (predict_c_finalize): Likewise.
  240. (varpool_c_finalize): Likewise.
  241. * cgraphbuild.c (cgraphbuild_c_finalize): New.
  242. * cgraphunit.c (first_analyzed): Move from analyze_functions
  243. to file-scope.
  244. (first_analyzed_var): Likewise.
  245. (analyze_functions): Move static variables into file-scope.
  246. (cgraphunit_c_finalize): New.
  247. * configure.ac: Add --enable-host-shared, adding -fPIC.
  248. * configure: Regenerate.
  249. * dwarf2out.c (dwarf2out_c_finalize): New.
  250. * dwarf2out.h (dwarf2out_c_finalize): Declare.
  251. * ggc-page.c (init_ggc): Make idempotent.
  252. * ipa-pure-const.c (function_insertion_hook_holder): Move to be
  253. a field of class pass_ipa_pure_const.
  254. (node_duplication_hook_holder): Likewise.
  255. (node_removal_hook_holder): Likewise.
  256. (register_hooks): Convert to method...
  257. (pass_ipa_pure_const::register_hooks): ...here, converting
  258. static variable init_p into...
  259. (pass_ipa_pure_const::init_p): ...new field.
  260. (pure_const_generate_summary): Update invocation of
  261. register_hooks to invoke as a method of current_pass.
  262. (pure_const_read_summary): Likewise.
  263. (propagate): Convert to...
  264. (pass_ipa_pure_const::execute): ...method.
  265. * ipa.c (ipa_c_finalize): New.
  266. * main.c (main): Update usage of toplev_main.
  267. * params.c (global_init_params): Make idempotent.
  268. * passes.c (execute_ipa_summary_passes): Set current_pass.
  269. * predict.c (predict_c_finalize): New.
  270. * stringpool.c (init_stringpool): Clean up if we're called more
  271. than once.
  272. * symtab.c (symtab_c_finalize): New.
  273. * timevar.c (timevar_init): Ignore repeated calls.
  274. * timevar.def (TV_CLIENT_CALLBACK): Add.
  275. (TV_ASSEMBLE): Add.
  276. (TV_LINK): Add.
  277. (TV_LOAD): Add.
  278. * toplev.c (do_compile) Add parameter (const toplev_options *);
  279. use it to avoid starting/stopping/reporting timevar TV_TOTAL
  280. for the case where toplev_main does not emcompass all timevars.
  281. (toplev_main): Add parameter (const toplev_options *); pass it
  282. to do_compile.
  283. (toplev_finalize): New.
  284. * toplev.h (struct toplev_options): New.
  285. (toplev_main): Add parameter (const toplev_options *).
  286. (toplev_finalize): New.
  287. * varpool.c (varpool_c_finalize): New.
  288. Copyright (C) 2013-2014 Free Software Foundation, Inc.
  289. Copying and distribution of this file, with or without modification,
  290. are permitted in any medium without royalty provided the copyright
  291. notice and this notice are preserved.