1. 10 Dec, 2014 10 commits
  2. 09 Dec, 2014 30 commits
    • re PR middle-end/64225 (-funsafe-math-optimizations generates call to pow where… · c293be1a
      re PR middle-end/64225 (-funsafe-math-optimizations generates call to pow where multiply instruction would do)
      
      2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR middle-end/64225
      	* tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
      	for BUILT_IN_POW when flag_errno_math is present.
      
      From-SVN: r218546
      Bill Schmidt committed
    • lto-wrapper.c (compile_offload_image): Start processing in_argv from 0 instead of 1. · 443743fd
      gcc/
      	* lto-wrapper.c (compile_offload_image): Start processing in_argv
      	from 0 instead of 1.
      	(run_gcc): Put offload objects into offload_argv, put LTO objects and
      	possible preceding arguments into lto_argv.
      	Pass offload_argv to compile_images_for_offload_targets instead of argv.
      	Use lto_argv for LTO recompilation instead of argv.
      lto-plugin/
      	* lto-plugin.c (offload_files, num_offload_files): New static variables.
      	(free_1): Use arguments instead of global variables.
      	(free_2): Free offload_files.
      	(all_symbols_read_handler): Add names from offload_files to lto-wrapper
      	arguments.
      	(claim_file_handler): Do not add file to claimed_files if it contains
      	offload sections without LTO sections.  Add it to offload_files instead.
      
      From-SVN: r218543
      Ilya Verbin committed
    • Fix date in change log entry. · 3f6ad8df
      From-SVN: r218542
      Oleg Endo committed
    • Add missing link to PR in change log entry. · 7d0ee249
      From-SVN: r218541
      Oleg Endo committed
    • toyvm.c: use correct path in debuginfo · 5cd614ce
      gcc/jit/ChangeLog:
      	* docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile): Move
      	logic for determine "funcname" to new function...
      	(get_function_name): ...here, adding logic to skip any leading
      	path from the filename.
      	(toyvm_function_parse): Use the filename for fn_filename, rather
      	than "name", so that the debugger can locate the source .toy
      	file.
      	(toyvm_function_parse): Don't fclose a NULL FILE *.
      
      From-SVN: r218540
      David Malcolm committed
    • (libgcc_s) Optional filename-based shared library versioning on AIX. · dd913323
      2014-12-09  Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
      
              (libgcc_s) Optional filename-based shared library versioning on AIX.
              * gcc/doc/install.texi: Describe --with-aix-soname option.
              * Makefile.in (with_aix_soname): Define.
              * config/rs6000/t-slibgcc-aix: Act upon --with-aix-soname option.
              * configure.ac: Accept --with-aix-soname=aix|svr4|both option.
              * configure: Recreate.
      
      From-SVN: r218539
      Michael Haubenwallner committed
    • PR jit/63854: Document how to run the jit testsuite under valgrind · 2712de78
      gcc/jit/ChangeLog:
      	PR jit/63854
      	* docs/internals/index.rst (Running under valgrind): New
      	subsection.
      	(docs/_build/texinfo/libgccjit.texi): Regenerate.
      
      From-SVN: r218538
      David Malcolm committed
    • [AArch64]Remove aarch64_get_lanedi, unused · 07ad57c4
      	* config/aarch64/aarch64-simd.md (aarch64_get_lanedi): Remove.
      
      From-SVN: r218537
      Alan Lawrence committed
    • [AArch64]Remove be_checked_get_lane, check bounds with __builtin_aarch64_im_lane_boundsi. · ed225d0c
      gcc/:
      
      	PR target/63870
      	* config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane):
      	Delete.
      	* config/aarch64/aarch64-simd.md (aarch64_be_checked_get_lane<mode\>):
      	Delete.
      	* config/aarch64/arm_neon.h (aarch64_vget_lane_any): Use GCC
      	vector extensions, __aarch64_lane, __builtin_aarch64_im_lane_boundsi.
      	(__aarch64_vget_lane_f32, __aarch64_vget_lane_f64,
      	__aarch64_vget_lane_p8, __aarch64_vget_lane_p16,
      	__aarch64_vget_lane_s8, __aarch64_vget_lane_s16,
      	__aarch64_vget_lane_s32, __aarch64_vget_lane_s64,
      	__aarch64_vget_lane_u8, __aarch64_vget_lane_u16,
      	__aarch64_vget_lane_u32, __aarch64_vget_lane_u64,
      	__aarch64_vgetq_lane_f32, __aarch64_vgetq_lane_f64,
      	__aarch64_vgetq_lane_p8, __aarch64_vgetq_lane_p16,
      	__aarch64_vgetq_lane_s8, __aarch64_vgetq_lane_s16,
      	__aarch64_vgetq_lane_s32, __aarch64_vgetq_lane_s64,
      	__aarch64_vgetq_lane_u8, __aarch64_vgetq_lane_u16,
      	__aarch64_vgetq_lane_u32, __aarch64_vgetq_lane_u64): Delete.
      	(__aarch64_vdup_lane_any): Use __aarch64_vget_lane_any, remove
      	'q2' argument.
      	(__aarch64_vdup_lane_f32, __aarch64_vdup_lane_f64,
      	__aarch64_vdup_lane_p8, __aarch64_vdup_lane_p16,
      	__aarch64_vdup_lane_s8, __aarch64_vdup_lane_s16,
      	__aarch64_vdup_lane_s32, __aarch64_vdup_lane_s64,
      	__aarch64_vdup_lane_u8, __aarch64_vdup_lane_u16,
      	__aarch64_vdup_lane_u32, __aarch64_vdup_lane_u64,
      	__aarch64_vdup_laneq_f32, __aarch64_vdup_laneq_f64,
      	__aarch64_vdup_laneq_p8, __aarch64_vdup_laneq_p16,
      	__aarch64_vdup_laneq_s8, __aarch64_vdup_laneq_s16,
      	__aarch64_vdup_laneq_s32, __aarch64_vdup_laneq_s64,
      	__aarch64_vdup_laneq_u8, __aarch64_vdup_laneq_u16,
      	__aarch64_vdup_laneq_u32, __aarch64_vdup_laneq_u64): Remove argument
      	to __aarch64_vdup_lane_any.
      	(vget_lane_f32, vget_lane_f64, vget_lane_p8, vget_lane_p16,
      	vget_lane_s8, vget_lane_s16, vget_lane_s32, vget_lane_s64,
      	vget_lane_u8, vget_lane_u16, vget_lane_u32, vget_lane_u64,
      	vgetq_lane_f32, vgetq_lane_f64, vgetq_lane_p8, vgetq_lane_p16,
      	vgetq_lane_s8, vgetq_lane_s16, vgetq_lane_s32, vgetq_lane_s64,
      	vgetq_lane_u8, vgetq_lane_u16, vgetq_lane_u32, vgetq_lane_u64,
      	vdupb_lane_p8, vdupb_lane_s8, vdupb_lane_u8, vduph_lane_p16,
      	vduph_lane_s16, vduph_lane_u16, vdups_lane_f32, vdups_lane_s32,
      	vdups_lane_u32, vdupb_laneq_p8, vdupb_laneq_s8, vdupb_laneq_u8,
      	vduph_laneq_p16, vduph_laneq_s16, vduph_laneq_u16, vdups_laneq_f32,
      	vdups_laneq_s32, vdups_laneq_u32, vdupd_laneq_f64, vdupd_laneq_s64,
      	vdupd_laneq_u64, vfmas_lane_f32, vfma_laneq_f64, vfmad_laneq_f64,
      	vfmas_laneq_f32, vfmss_lane_f32, vfms_laneq_f64, vfmsd_laneq_f64,
      	vfmss_laneq_f32, vmla_lane_f32, vmla_lane_s16, vmla_lane_s32,
      	vmla_lane_u16, vmla_lane_u32, vmla_laneq_f32, vmla_laneq_s16,
      	vmla_laneq_s32, vmla_laneq_u16, vmla_laneq_u32, vmlaq_lane_f32,
      	vmlaq_lane_s16, vmlaq_lane_s32, vmlaq_lane_u16, vmlaq_lane_u32,
      	vmlaq_laneq_f32, vmlaq_laneq_s16, vmlaq_laneq_s32, vmlaq_laneq_u16,
      	vmlaq_laneq_u32, vmls_lane_f32, vmls_lane_s16, vmls_lane_s32,
      	vmls_lane_u16, vmls_lane_u32, vmls_laneq_f32, vmls_laneq_s16,
      	vmls_laneq_s32, vmls_laneq_u16, vmls_laneq_u32, vmlsq_lane_f32,
      	vmlsq_lane_s16, vmlsq_lane_s32, vmlsq_lane_u16, vmlsq_lane_u32,
      	vmlsq_laneq_f32, vmlsq_laneq_s16, vmlsq_laneq_s32, vmlsq_laneq_u16,
      	vmlsq_laneq_u32, vmul_lane_f32, vmul_lane_s16, vmul_lane_s32,
      	vmul_lane_u16, vmul_lane_u32, vmuld_lane_f64, vmuld_laneq_f64,
      	vmuls_lane_f32, vmuls_laneq_f32, vmul_laneq_f32, vmul_laneq_f64,
      	vmul_laneq_s16, vmul_laneq_s32, vmul_laneq_u16, vmul_laneq_u32,
      	vmulq_lane_f32, vmulq_lane_s16, vmulq_lane_s32, vmulq_lane_u16,
      	vmulq_lane_u32, vmulq_laneq_f32, vmulq_laneq_f64, vmulq_laneq_s16,
      	vmulq_laneq_s32, vmulq_laneq_u16, vmulq_laneq_u32) : Use
      	__aarch64_vget_lane_any.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/simd/vget_lane_f32_indices_1.c: New test.
      	* gcc.target/aarch64/simd/vget_lane_f64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_p16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_p8_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_s16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_s32_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_s64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_s8_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_u16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_u32_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_u64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vget_lane_u8_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_f32_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_f64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_p16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_p8_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_s16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_s32_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_s8_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_u16_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_u32_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_u64_indices_1.c: Likewise.
      	* gcc.target/aarch64/simd/vgetq_lane_u8_indices_1.c: Likewise.
      
      From-SVN: r218536
      Alan Lawrence committed
    • Add missing PR numbers to ChangeLog. Too late? · fdead6a4
      From-SVN: r218535
      Alan Lawrence committed
    • [AArch64]Improve error message for non-constant immediates · fca051af
      gcc/:
      
      	* gcc/config/aarch64-builtins.c (aarch64_simd_expand_args): Update error
      	message for SIMD_ARG_CONSTANT.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/arg-type-diagnostics-1.c: Call intrinsic, update
      	expected error message.
      
      From-SVN: r218534
      Alan Lawrence committed
    • Add jit-tempdir.{c|h} · d1e5f2c7
      gcc/jit/ChangeLog:
              PR jit/64206
      	* Make-lang.in (jit_OBJS): Add jit/jit-tempdir.o.
      	* jit-common.h (gcc::jit::tempdir): New forward decl.
      	* jit-playback.c: Include jit-tempdir.h.
      	(gcc::jit::playback::context::context): Initialize m_tempdir.
      	(gcc::jit::playback::context::~context): Move tempdir
      	cleanup to new file jit-tempdir.c
      	(make_tempdir_path_template): Move to new file jit-tempdir.c.
      	(gcc::jit::playback::context::compile): Move tempdir creation
      	to new tempdir object in new file jit-tempdir.c.
      	(gcc::jit::playback::context::make_fake_args): Get path from
      	tempdir object rather than from member data.
      	(gcc::jit::playback::context::convert_to_dso): Likewise.
      	(gcc::jit::playback::context::dlopen_built_dso): Likewise.
      	(gcc::jit::playback::context::dump_generated_code): Likewise.
      	(gcc::jit::playback::context::get_path_c_file): New function.
      	(gcc::jit::playback::context::get_path_s_file): New function.
      	(gcc::jit::playback::context::get_path_so_file): New function.
      	* jit-playback.h (gcc::jit::playback::context::get_path_c_file):
      	New function.
      	(gcc::jit::playback::context::get_path_s_file): New function.
      	(gcc::jit::playback::context::get_path_so_file): New function.
      	(gcc::jit::playback::context): Move fields "m_path_template",
      	"m_path_tempdir", "m_path_c_file", "m_path_s_file",
      	"m_path_so_file" to new jit::tempdir class; add field "m_tempdir".
      	* jit-tempdir.c: New file.
      	* jit-tempdir.h: New file.
      
      From-SVN: r218533
      David Malcolm committed
    • [AArch64] Fix ICE on non-constant indices to __builtin_aarch64_im_lane_boundsi · 661fce82
      gcc/:
      
      	* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
      	TYPES_BINOPV): Delete.
      	(enum aarch64_builtins): Add AARCH64_BUILTIN_SIMD_LANE_CHECK and
      	AARCH64_SIMD_PATTERN_START.
      	(aarch64_init_simd_builtins): Register
      	__builtin_aarch64_im_lane_boundsi; use  AARCH64_SIMD_PATTERN_START.
      	(aarch64_simd_expand_builtin): Handle AARCH64_BUILTIN_LANE_CHECK; use
      	AARCH64_SIMD_PATTERN_START.
      
      	* config/aarch64/aarch64-simd.md (aarch64_im_lane_boundsi): Delete.
      	* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): Delete.
      
      	* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): New.
      	(__aarch64_vget_lane_f64, __aarch64_vget_lane_s64,
      	__aarch64_vget_lane_u64, __aarch64_vset_lane_any, vdupd_lane_f64,
      	vdupd_lane_s64, vdupd_lane_u64, vext_f32, vext_f64, vext_p8, vext_p16,
      	vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
      	vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
      	vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
      	vextq_u64, vmulq_lane_f64): Use __AARCH64_LANE_CHECK.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/simd/vset_lane_s16_const_1.c: New test.
      
      From-SVN: r218532
      Alan Lawrence committed
    • [AArch64]Fix ICE at -O0 on vld1_lane intrinsics · 2310e29f
      gcc/:
      
      	* config/aarch64/arm_neon.h (__AARCH64_NUM_LANES, __aarch64_lane *2):
      	New.
      	(aarch64_vset_lane_any): Redefine using previous, same for BE + LE.
      	(vset_lane_f32, vset_lane_f64, vset_lane_p8, vset_lane_p16,
      	vset_lane_s8, vset_lane_s16, vset_lane_s32, vset_lane_s64,
      	vset_lane_u8, vset_lane_u16, vset_lane_u32, vset_lane_u64): Remove
      	number of lanes.
      	(vld1_lane_f32, vld1_lane_f64, vld1_lane_p8, vld1_lane_p16,
      	vld1_lane_s8, vld1_lane_s16, vld1_lane_s32, vld1_lane_s64,
      	vld1_lane_u8, vld1_lane_u16, vld1_lane_u32, vld1_lane_u64): Call
      	__aarch64_vset_lane_any rather than vset_lane_xxx.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/vld1_lane-o0.c: New test.
      
      From-SVN: r218531
      Alan Lawrence committed
    • vabs_intrinsic_2.c: New test. · 8f905d69
      gcc/testsuite/:
      
              * gcc.target/aarch64/vabs_intrinsic_2.c: New test.
      
      From-SVN: r218530
      Alan Lawrence committed
    • Fix bogus ChangeLog entry from r218521 · 82e0c914
      In r218521 I erroneously added the entries meant for gcc/jit/ChangeLog
      to gcc/ChangeLog instead.
      
      Move them to the correct ChangeLog file.
      
      Sorry for the noise.
      
      From-SVN: r218529
      David Malcolm committed
    • Guard less code with the JIT mutex · 38771e4e
      gcc/jit/ChangeLog:
      	* jit-playback.c (gcc::jit::playback::context::compile): Acquire the
      	mutex here, immediately before using toplev, and release it here, on
      	each exit path after acquisition.
      	(jit_mutex): Move this variable here, from jit-recording.c.
      	(gcc::jit::playback::context::acquire_mutex): New function, based on
      	code in jit-recording.c.
      	(gcc::jit::playback::context::release_mutex): Likewise.
      	* jit-playback.h (gcc::jit::playback::context::acquire_mutex): New
      	function.
      	(gcc::jit::playback::context::release_mutex): New function.
      	* jit-recording.c (jit_mutex): Move this variable to jit-playback.c.
      	(gcc::jit::recording::context::compile): Move mutex-handling from
      	here into jit-playback.c's gcc::jit::playback::context::compile.
      	* notes.txt: Update to show the new locations of ACQUIRE_MUTEX
      	and RELEASE_MUTEX.
      
      From-SVN: r218528
      David Malcolm committed
    • jit-playback.c: Move dlopen code into a new function · 38f4f641
      gcc/jit/ChangeLog:
      	* jit-playback.c (gcc::jit::playback::context::compile): Move the
      	dlopen code into...
      	(gcc::jit::playback::context::dlopen_built_dso): ...this new
      	function.
      	* jit-playback.h (gcc::jit::playback::context::dlopen_built_dso):
      	New function.
      
      From-SVN: r218527
      David Malcolm committed
    • [AArch64] Add TARGET_SCHED_REASSOCIATION_WIDTH · cee66c68
      2014-12-09  Wilco Dijkstra  <wilco.dijkstra@arm.com>
      
      	* gcc/config/aarch64/aarch64-protos.h (tune-params): Add reasociation
      	tuning parameters.
      	* gcc/config/aarch64/aarch64.c (TARGET_SCHED_REASSOCIATION_WIDTH):
      	Define.
      	(aarch64_reassociation_width): New function.
      	(generic_tunings): Add reassociation tuning parameters.
      	(cortexa53_tunings): Likewise.
      	(cortexa57_tunings): Likewise.
      	(thunderx_tunings): Likewise.
      
      From-SVN: r218526
      Wilco Dijkstra committed
    • [AARCH64][5/5] Add macro fusion support for cmp/b.X for ThunderX · 3759108f
      	* config/aarch64/aarch64.c (AARCH64_FUSE_CMP_BRANCH): New define.
      	(thunderx_tunings): Add AARCH64_FUSE_CMP_BRANCH to fuseable_ops.
      	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_CMP_BRANCH.
      
      From-SVN: r218525
      Andrew Pinski committed
    • jit: Add new testcase missing from r218521 · 3b21bfb1
      I intended for r218521 to contain this file:
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-unrecognized-dump.c: New file.
      
      Add it.
      
      From-SVN: r218522
      David Malcolm committed
    • PR jit/64166: Add API entrypoint gcc_jit_context_enable_dump · 463366a0
      gcc/jit/ChangeLog:
      	PR jit/64166
      	* docs/topics/contexts.rst (Debugging): Add description of
      	gcc_jit_context_enable_dump.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* jit-playback.c: Include context.h.
      	(class auto_argvec): New class.
      	(auto_argvec::~auto_argvec): New function.
      	(gcc::jit::playback::context::compile): Convert fake_args to be
      	an auto_argvec, so that it can contain dynamically-allocated
      	strings.   Construct a vec of all requested dumps, and pass it to
      	make_fake_args.  Extract requested dumps between the calls to
      	toplev::main and toplev::finalize.
      	(gcc::jit::playback::context::make_fake_args): Convert param
      	"argvec" to be a vec <char *>, and gain a "requested_dumps"
      	param.  Convert to dynamically-allocated arg strings by converting
      	ADD_ARG to take a copy of the arg, and add ADD_ARG_TAKE_OWNERSHIP
      	for args that are already a copy.  Add args for all requested dumps.
      	(gcc::jit::playback::context::extract_any_requested_dumps): New
      	function.
      	(gcc::jit::playback::context::read_dump_file): New function.
      	* jit-playback.h (gcc::jit::playback::context::make_fake_args):
      	Convert param "argvec" to be a vec <char *>, and gain a
      	"requested_dumps" param.
      	(gcc::jit::playback::context::extract_any_requested_dumps): New
      	function.
      	(gcc::jit::playback::context::read_dump_file): New function.
      	* jit-recording.c (gcc::jit::recording::context::enable_dump): New
      	function.
      	(gcc::jit::recording::context::get_all_requested_dumps): New
      	function.
      	* jit-recording.h (gcc::jit::recording::requested_dump): New
      	struct.
      	(gcc::jit::recording::context::enable_dump): New function.
      	(gcc::jit::recording::context::get_all_requested_dumps): New
      	function.
      	(gcc::jit::recording::context::m_requested_dumps): New field.
      	* libgccjit.c (gcc_jit_context_enable_dump): New API entrypoint.
      	* libgccjit.h (gcc_jit_context_enable_dump): New API entrypoint.
      	* libgccjit.map (gcc_jit_context_enable_dump): New API entrypoint.
      
      gcc/testsuite/ChangeLog:
      	PR jit/64166
      	PR jit/64020
      	* jit.dg/harness.h (CHECK_STRING_CONTAINS): New macro.
      	(check_string_contains): New function.
      	* jit.dg/test-error-unrecognized-dump.c: New file.
      	* jit.dg/test-functions.c (trig_sincos_dump): New variable.
      	(trig_statistics_dump): New variable.
      	(create_test_of_builtin_trig): Enable dumping of "sincos" and
      	"statistics" into "trig_sincos_dump" and "trig_statistics_dump".
      	(verify_test_of_builtin_trig): Verify the sincos and statistics
      	dumps.
      	* jit.dg/test-sum-of-squares.c (dump_vrp1): New variable.
      	(create_code): Enable dumping of "tree-vrp1" into dump_vrp1.
      	(verify_code): Verify the tree-vrp1 dump.
      
      From-SVN: r218521
      David Malcolm committed
    • PR jit/64166: Add methods to gcc::dump_manager needed by JIT testing · 799505ae
      gcc/ChangeLog:
      	PR jit/64166
      	* dumpfile.c (gcc::dump_manager::get_dump_file_info_by_switch):
      	New function.
      	(gcc::dump_manager::get_dump_file_name): Split out bulk of
      	implementation into a new overloaded variant taking a
      	dump_file_info *.
      	* dumpfile.h (gcc::dump_manager::get_dump_file_info_by_switch):
      	New function.
      	(gcc::dump_manager::get_dump_file_name): New overloaded variant of
      	this function, taking a dump_file_info *.
      
      From-SVN: r218520
      David Malcolm committed
    • re PR bootstrap/64213 (gimple-match.c:1523:6: error: ‘GIMPLE’ was not declared in this scope) · 0cc67c94
      	PR bootstrap/64213
      	Revert:
      	2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/64037
      	* combine.c (setup_incoming_promotions): Pass the argument
      	before any promotions happen to promote_function_mode.
      
      testsuite/ChangeLog:
      
      	PR bootstrap/64213
      	Revert:
      	2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/64037
      	* g++.dg/pr64037.C: New test.
      
      From-SVN: r218516
      Uros Bizjak committed
    • re PR tree-optimization/64193 (Decreased performance after r173250) · 92a5094e
      2014-12-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64193
      	* tree-ssa-alias.c (walk_non_aliased_vuses): Add valueize parameter
      	and valueize the VUSE before looking up the def stmt.
      	* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
      	* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Pass vn_valueize
      	to walk_non_aliased_vuses.
      	(vn_reference_lookup): Likewise.
      	* tree-ssa-dom.c (lookup_avail_expr): Pass NULL as valueize
      	callback to walk_non_aliased_vuses.
      
      	* gcc.dg/tree-ssa/ssa-fre-43.c: New testcase.
      
      From-SVN: r218515
      Richard Biener committed
    • Local Vim config with GNU formatting. · c3e1e693
          
      2014-12-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      	    Yury Gribov  <y.gribov@samsung.com>
          
      /
      	* .gitignore: Added .local.vimrc and .lvimrc.
      	* Makefile.tpl (vimrc, .lvimrc, .local.vimrc): New targets.
      	* Makefile.in: Regenerate.
      
      contrib/
      	* vimrc: New file.
      
      From-SVN: r218514
      Yury Gribov committed
    • re PR tree-optimization/64199 (ICE: tree check: expected class 'constant', have… · 85fd4c28
      re PR tree-optimization/64199 (ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math)
      
      2014-12-09  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/64199
      	* fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.
      
      	* gcc.dg/torture/pr64199.c: New testcase.
      
      From-SVN: r218513
      Richard Biener committed
    • re PR libstdc++/64203 (shared_mutex compile errors on bare-metal targets) · 60b6534a
      	PR libstdc++/64203
      	* include/std/shared_mutex: Fix preprocessor conditions.
      	* testsuite/experimental/feat-cxx14.cc: Check conditions.
      
      From-SVN: r218511
      Jonathan Wakely committed
    • re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination… · ac6aeab4
      re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination in loop calling dtor)
      
      2014-12-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64191
      	* tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
      	not relevant (nor are their uses).
      
      From-SVN: r218509
      Richard Biener committed
    • lto-partition.c (privatize_symbol_name): Correctly privatize instrumentation clones. · 6c779727
      gcc/
      
      	* lto/lto-partition.c (privatize_symbol_name): Correctly
      	privatize instrumentation clones.
      
      gcc/testsuite/
      
      	* gcc.dg/lto/lto.exp: Load mpx-dg.exp.
      	* gcc.dg/lto/chkp-privatize_0.c: New.
      	* gcc.dg/lto/chkp-privatize_1.c: New.
      
      From-SVN: r218508
      Ilya Enkovich committed