The open64-booster branch is ready for another merge into the trunk.
The changes include all those in AMD’s recent x86 Open64 4.2.4
release. Here is a summary:
o Improved function inlining heuristics and enhanced inline expansion
of library functions.
o Enhanced framework for multi-versioning.
o Improved inductive expression simplification and if-merging optimization.
o Improved code generation for the % operator.
o Improved interprocedural analysis for indirect function calls,
virtual functions, and functions with "noreturn" attribute.
o Optimized exception handling.
o Optimized processing of Fortran 90 temporary arrays.
o Improved processor affinity mapping in the OpenMP and parallel
runtime library.
o Added support for 1 GB huge pages.
o Improved gcc compatibility with the addition of long double support
and bug fixes for ABI compatibility, nonstandard calling conventions,
and inline assembly.
o Improved Fortran support with prebuilt OpenMP bindings and bug fixes
for Fortran preprocessing and OpenMP compilation.
o New options for better control of floating point accuracy.
o General correctness improvements including bug fixes for problems
with C++ short circuit operators, prefetching, inlining, and PIC code
generation.
The bugs fixed include 566, 567, 570, and the cmplr_segmented_array.h
bug that Mike Murphy pointed out recently.
We would like to complete the merge before the end of July. We have
built a compiler from the merged source and are in the process of
doing the testing described in
http://wiki.open64.net/index.php/CheckinPolicy.
I did not attach the changes since they are fairly large (~1.4M).
Instead I attached the output of diffstat showing which files have
changed -- not included in that output are a handful of new files in
be/opt and osprey/libfi/mathlb. Gatekeepers: please let me know who
will participate in the review/approval process and I will send the
patch directly. Anyone else that is interested is welcome to take a
look, too. Thanks,
-David Coakley / AMD Open Source Compiler Engineering
install_compiler.sh | 31
osprey-gcc-4.2.0/gcc/omp-low.c | 4
osprey-gcc-4.2.0/gcc/opts.c | 6
osprey-gcc-4.2.0/gcc/tree.c | 5
osprey/be/be/dra_ec.cxx | 8
osprey/be/be/driver.cxx | 13
osprey/be/be/omp_lower.cxx | 20
osprey/be/cg/bbutil.cxx | 16
osprey/be/cg/cflow.cxx | 94
osprey/be/cg/cg.cxx | 14
osprey/be/cg/cg_flags.cxx | 9
osprey/be/cg/cg_flags.h | 23
osprey/be/cg/cg_gcov.cxx | 8
osprey/be/cg/cg_spill.cxx | 8
osprey/be/cg/cgdriver.cxx | 22
osprey/be/cg/cgemit.cxx | 19
osprey/be/cg/cgexp.cxx | 27
osprey/be/cg/cgexp_internals.h | 9
osprey/be/cg/cio_rwtran.cxx | 18
osprey/be/cg/ebo.cxx | 495 +
osprey/be/cg/freq.cxx | 8
osprey/be/cg/iface_scn.cxx | 8
osprey/be/cg/igls.cxx | 5
osprey/be/cg/localize.cxx | 71
osprey/be/cg/lra.cxx | 63
osprey/be/cg/op.h | 10
osprey/be/cg/oputil.cxx | 14
osprey/be/cg/tn.h | 7
osprey/be/cg/tnutil.cxx | 7
osprey/be/cg/variants.cxx | 10
osprey/be/cg/variants.h | 21
osprey/be/cg/whirl2ops.cxx | 128
osprey/be/cg/x8664/cg_convert_x87.cxx | 16
osprey/be/cg/x8664/cg_sched.cxx | 929 +-
osprey/be/cg/x8664/cg_sched.h | 6
osprey/be/cg/x8664/cgemit_targ.cxx | 392
osprey/be/cg/x8664/cgtarget.cxx | 27
osprey/be/cg/x8664/ebo_special.cxx | 1257 ++-
osprey/be/cg/x8664/exp_branch.cxx | 17
osprey/be/cg/x8664/exp_divrem.cxx | 30
osprey/be/cg/x8664/exp_loadstore.cxx | 69
osprey/be/cg/x8664/expand.cxx | 399
osprey/be/cg/x8664/register_targ.cxx | 4
osprey/be/com/clone.cxx | 7
osprey/be/com/clone_DST_utils.cxx | 4
osprey/be/com/cxx_template.h | 21
osprey/be/com/data_layout.cxx | 10
osprey/be/com/dep_graph.cxx | 4
osprey/be/com/dep_graph.h | 6
osprey/be/com/emulate.cxx | 69
osprey/be/com/ipa_section.h | 6
osprey/be/com/opt_alias_mgr.cxx | 27
osprey/be/com/opt_cvtl_rule.cxx | 6
osprey/be/com/stblock.cxx | 4
osprey/be/com/wn_fio.cxx | 8
osprey/be/com/wn_lower.cxx | 1373 +++
osprey/be/com/wn_lower.h | 4
osprey/be/com/x8664/betarget.cxx | 3
osprey/be/lno/can.cxx | 8
osprey/be/lno/cse.cxx | 33
osprey/be/lno/cse.h | 6
osprey/be/lno/ff_utils.cxx | 15
osprey/be/lno/fis_gthr.cxx | 16
osprey/be/lno/lego_io.cxx | 7
osprey/be/lno/lnodriver.cxx | 9
osprey/be/lno/lnopt_main.cxx | 21
osprey/be/lno/mem_sim.cxx | 7
osprey/be/lno/model.cxx | 24
osprey/be/lno/prefetch.cxx | 1
osprey/be/lno/scalar_expand.cxx | 7
osprey/be/lno/x8664/lnotarget.cxx | 69
osprey/be/opt/Makefile.gbase | 6
osprey/be/opt/opt_base.h | 6
osprey/be/opt/opt_bb.cxx | 1319 ---
osprey/be/opt/opt_bb.h | 344
osprey/be/opt/opt_canon.cxx | 11
osprey/be/opt/opt_cfg.cxx | 169
osprey/be/opt/opt_cfg.h | 25
osprey/be/opt/opt_cfg_trans.cxx | 7724 -------------------
osprey/be/opt/opt_cfg_trans.h | 246
osprey/be/opt/opt_combine.cxx | 49
osprey/be/opt/opt_cond_const.cxx | 24
osprey/be/opt/opt_cse.cxx | 4
osprey/be/opt/opt_dce.cxx | 263
osprey/be/opt/opt_eant.cxx | 69
osprey/be/opt/opt_etable.cxx | 5
osprey/be/opt/opt_etable.h | 8
osprey/be/opt/opt_find.cxx | 7
osprey/be/opt/opt_fold.cxx | 13
osprey/be/opt/opt_htable.cxx | 53
osprey/be/opt/opt_htable_emit.cxx | 13
osprey/be/opt/opt_ivr.cxx | 114
osprey/be/opt/opt_ivr.h | 6
osprey/be/opt/opt_lmv.cxx | 340
osprey/be/opt/opt_lmv.h | 15
osprey/be/opt/opt_lmv_helper.cxx | 4
osprey/be/opt/opt_lmv_helper.h | 4
osprey/be/opt/opt_main.cxx | 269
osprey/be/opt/opt_misc.cxx | 93
osprey/be/opt/opt_project.h | 6
osprey/be/opt/opt_reasso.cxx | 7
osprey/be/opt/opt_rename.cxx | 5
osprey/be/opt/opt_sym.h | 4
osprey/be/opt/opt_vn_expr_taxonomy.h | 6
osprey/be/opt/opt_wn.cxx | 268
osprey/be/opt/opt_wn.h | 28
osprey/be/opt/optimizer.h | 4
osprey/be/region/region_util.cxx | 22
osprey/be/region/region_util.h | 4
osprey/be/vho/f90_lower.cxx | 5
osprey/be/vho/vho_lower.cxx | 7
osprey/be/whirl2c/ty2c.cxx | 22
osprey/be/whirl2c/wn2c.cxx | 95
osprey/be/whirl2c/wn_attr.cxx | 8
osprey/be/whirl2f/init2f.cxx | 18
osprey/be/whirl2f/ty2f.cxx | 8
osprey/be/whirl2f/wn2f_load_store.cxx | 6
osprey/clibinc/fmath.h | 10
osprey/common/com/cmplr_segmented_array.h | 6
osprey/common/com/config.cxx | 18
osprey/common/com/config.h | 4
osprey/common/com/config_ipa.cxx | 8
osprey/common/com/config_ipa.h | 5
osprey/common/com/config_wopt.cxx | 39
osprey/common/com/config_wopt.h | 14
osprey/common/com/const.cxx | 13
osprey/common/com/intrn_entry.def | 16
osprey/common/com/intrn_info.h | 11
osprey/common/com/ir_reader.cxx | 8
osprey/common/com/mtypes.cxx | 48
osprey/common/com/mtypes.h | 179
osprey/common/com/opcode_gen_core.cxx | 8
osprey/common/com/opcode_gen_core.h | 103
osprey/common/com/segmented_array.h | 6
osprey/common/com/symtab.cxx | 24
osprey/common/com/symtab_access.h | 9
osprey/common/com/symtab_defs.h | 3
osprey/common/com/symtab_utils.h | 4
osprey/common/com/targ_const.h | 6
osprey/common/com/targ_sim_body.h | 16
osprey/common/com/wn.cxx | 205
osprey/common/com/wn.h | 32
osprey/common/com/wn_core.h | 29
osprey/common/com/wn_simp_code.h | 400
osprey/common/com/wn_simp_ftable.h | 6
osprey/common/com/wn_util.h | 6
osprey/common/com/x8664/config_targ.cxx | 14
osprey/common/com/x8664/targ_const.cxx | 704 +
osprey/common/com/x8664/targ_const_private.h | 6
osprey/common/com/x8664/targ_em_const.cxx | 62
osprey/common/com/x8664/targ_sim.cxx | 16
osprey/common/com/xstats.cxx | 6
osprey/common/intr/prebuilt/wtable.h | 5
osprey/common/targ_info/isa/x8664/isa.cxx | 26
osprey/common/targ_info/isa/x8664/isa_operands.cxx | 86
osprey/common/targ_info/isa/x8664/isa_pack.cxx | 26
osprey/common/targ_info/isa/x8664/isa_print.cxx | 107
osprey/common/targ_info/isa/x8664/isa_properties.cxx | 728 +
osprey/common/targ_info/isa/x8664/isa_subset.cxx | 26
osprey/common/targ_info/proc/x8664/barcelona_si.cxx | 28
osprey/common/targ_info/proc/x8664/core_si.cxx | 28
osprey/common/targ_info/proc/x8664/em64t_si.cxx | 28
osprey/common/targ_info/proc/x8664/opteron_si.cxx | 28
osprey/common/targ_info/proc/x8664/orochi_si.cxx | 28
osprey/common/targ_info/proc/x8664/wolfdale_si.cxx | 28
osprey/common/util/memory.c | 127
osprey/crayf90/fe90/fmath.h | 8
osprey/crayf90/fe90/s_call.c | 10
osprey/crayf90/fe90/src_input.c | 20
osprey/crayf90/sgi/cwh_addr.cxx | 9
osprey/crayf90/sgi/cwh_stab.cxx | 9
osprey/driver/OPTIONS | 13
osprey/driver/get_options.h | 5
osprey/driver/main.c | 26
osprey/driver/opt_actions.c | 77
osprey/driver/phases.c | 26
osprey/instrumentation/libinstr2/Makefile.gbase | 6
osprey/ipa/common/ipc_symtab_merge.cxx | 5
osprey/ipa/inline/inline_summarize.h | 4
osprey/ipa/local/ipl_analyze_template.h | 6
osprey/ipa/local/ipl_summarize.h | 6
osprey/ipa/local/ipl_summarize_template.h | 38
osprey/ipa/local/ipl_summary.h | 10
osprey/ipa/local/ipl_summary_print.cxx | 20
osprey/ipa/main/analyze/ipa_cg.cxx | 106
osprey/ipa/main/analyze/ipa_cg.h | 12
osprey/ipa/main/analyze/ipa_devirtual.cxx | 104
osprey/ipa/main/analyze/ipa_inline.cxx | 576 +
osprey/ipa/main/analyze/ipa_inline.h | 62
osprey/ipa/main/analyze/ipa_trace.h | 5
osprey/ipa/main/optimize/ipo_icall.cxx | 107
osprey/libacml_mv/Makefile.gbase | 12
osprey/libf/include/fmt.h | 4
osprey/libfi/mathlb/mathlb.gmakeinclude | 10
osprey/libhugetlbfs/Makefile.gbase | 18
osprey/libhugetlbfs/elflink.c | 92
osprey/libhugetlbfs/hugetlbfs.h | 7
osprey/libhugetlbfs/ldscripts/elf_i386.xBDT | 2
osprey/libhugetlbfs/ldscripts/elf_i386_1G.xBDT | 2
osprey/libhugetlbfs/libhugetlbfs_internal.h | 5
osprey/libhugetlbfs/morecore.c | 87
osprey/libopen64rt/fastcopy_gh.s | 108
osprey/libopenmp/omp_rtl.h | 8
osprey/libopenmp/omp_thread.h | 3
osprey/libopenmp/omp_util.c | 133
osprey/targdir_lib/libacml_mv/Makefile.in | 2
osprey/targdir_lib/libhugetlbfs/Makefile.in | 8
osprey/wgen/wgen_decl.cxx | 10
osprey/wgen/wgen_dst.cxx | 11
osprey/wgen/wgen_expr.cxx | 77
osprey/wgen/wgen_misc.cxx | 9
osprey/wgen/wgen_spin_symbol.cxx | 92
osprey/wgen/wgen_stmt.cxx | 52
213 files changed, 11898 insertions(+), 11315 deletions(-)
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel