PR jit/63854: Add ira_costs_c_finalize

gcc/ChangeLog:
	PR jit/63854
	* ira-costs.c (ira_costs_c_finalize): New function.
	* ira.h (ira_costs_c_finalize): New prototype.
	* toplev.c (toplev::finalize): Call ira_costs_c_finalize.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217800 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Don't leak producer_string in dwarf2out.c

gcc/ChangeLog:
	PR jit/63854
	* dwarf2out.c (dwarf2out_c_finalize): Free producer_string.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217801 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leak of worklist within jit-recording.c

gcc/jit/ChangeLog:
	PR jit/63854
	* jit-recording.c (recording::function::validate): Convert
	"worklist" from vec<> to autovec<> to fix a leak.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217802 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leak of "avail" within tree-ssa-pre.c

gcc/ChangeLog:
	PR jit/63854
	* tree-ssa-pre.c (do_regular_insertion): Convert "avail" from
	vec<> to auto_vec<> to fix a leak.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217803 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leak of paths within jump threading

gcc/ChangeLog:
	PR jit/63854
	* tree-ssa-threadedge.c (thread_across_edge): Don't just release
	"path", delete it.
	* tree-ssa-threadupdate.c (delete_jump_thread_path): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217804 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: lra.c: Fix leak of point_freq_vec's buffer when calling lra_inheritance

gcc/ChangeLog:
	PR jit/63854
	* lra.c (lra): After creating live ranges in preparation for call
	to lra_inheritance, set live_p to true.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217806 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Add all_late_ipa_passes to GCC_PASS_LISTS

gcc/ChangeLog:
	PR jit/63854
	* pass_manager.h (GCC_PASS_LISTS): Add all_late_ipa_passes.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217807 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leaking vec in jit

gcc/jit/ChangeLog:
	PR jit/63854
	* jit-playback.c (gcc::jit::playback::compound_type::set_fields):
	Convert param from const vec<playback::field *> & to
	const auto_vec<playback::field *> *.
	(gcc::jit::playback::context::new_function_type): Convert param
	"param_types" from vec<type *> * to const auto_vec<type *> *.
	(gcc::jit::playback::context::new_function): Convert param
	"params" from vec<param *> * to const auto_vec<param *> *.
	(gcc::jit::playback::context::build_call): Convert param "args"
	from vec<rvalue *> to const auto_vec<rvalue *> *.
	(gcc::jit::playback::context::new_call): Likewise.
	(gcc::jit::playback::context::new_call_through_ptr): Likewise.
	(wrapper_finalizer): New function.
	(gcc::jit::playback::wrapper::operator new): Call the finalizer
	variant of ggc_internal_cleared_alloc, supplying
	wrapper_finalizer.
	(gcc::jit::playback::function::finalizer): New.
	(gcc::jit::playback::block::finalizer): New.
	(gcc::jit::playback::source_file::finalizer): New.
	(gcc::jit::playback::source_line::finalizer): New.

	* jit-playback.h
	(gcc::jit::playback::context::new_function_type): Convert param
	"param_types" from vec<type *> * to const auto_vec<type *> *.
	(gcc::jit::playback::context::new_function): Convert param
	"params" from vec<param *> * to const auto_vec<param *> *.
	(gcc::jit::playback::context::new_call): Convert param
	"args" from vec<rvalue *> to const auto_vec<rvalue *> *.
	(gcc::jit::playback::context::new_call_through_ptr): Likewise.
	(gcc::jit::playback::context::build_call): Likewise.
	(gcc::jit::playback::context): Convert fields "m_functions",
	"m_source_files", "m_cached_locations" from vec to auto_vec.
	(gcc::jit::playback::wrapper::finalizer): New virtual function.
	(gcc::jit::playback::compound_type::set_fields): Convert param fro
	const vec<playback::field *> & to
	const auto_vec<playback::field *> *.
	(gcc::jit::playback::function::finalizer): New.
	(gcc::jit::playback::block::finalizer): New.
	(gcc::jit::playback::source_file::finalizer): New.
	(gcc::jit::playback::source_line::finalizer): New.

	* jit-recording.c
	(gcc::jit::recording::function_type::replay_into): Convert local
	from a vec into an auto_vec.
	(gcc::jit::recording::fields::replay_into): Likewise.
	(gcc::jit::recording::function::replay_into): Likewise.
	(gcc::jit::recording::call::replay_into): Likewise.
	(gcc::jit::recording::call_through_ptr::replay_into): Likewise.

	* jit-recording.h (gcc::jit::recording::context): Convert fields
	"m_mementos", "m_compound_types", "m_functions" from vec<> to
	auto_vec <>.
	(gcc::jit::recording::function_type::get_param_types): Convert
	return type from vec<type *> to const vec<type *> &.
	(gcc::jit::recording::function_type): Convert field
	"m_param_types" from a vec<> to an auto_vec<>.
	(gcc::jit::recording::fields): Likewise for field "m_fields".
	(gcc::jit::recording::function::get_params): Convert return type
	from vec <param *> to const vec<param *> &.
	(gcc::jit::recording::function): Convert fields "m_params",
	"m_locals", "m_blocks" from vec<> to auto_vec<>.
	(gcc::jit::recording::block): Likewise for field "m_statements".
	vec<> to auto_vec<>.
	(gcc::jit::recording::call): Likewise for field "m_args".
	(gcc::jit::recording::call_through_ptr): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217808 138bc75d-0d04-0410-961f-82ee72b054a4
	PR bootstrap/63963
	* tree-streamer-out.c (write_ts_function_decl_tree_pointers): Stream out
	DECL_FUNCTION_SPECIFIC_TARGET
	* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): Stream in
	DECL_FUNCTION_SPECIFIC_TARGET.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217809 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/63947
	* config/i386/i386.c (put_condition_code) <case LTU, case GEU>:
	Output "b" and "nb" suffix for FP mode.

testsuite/ChangeLog:

	PR target/63947
	* gcc.target/i386/pr63947.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217810 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leak in ipa-icf.c

gcc/ChangeLog:
	PR jit/63854
	* ipa-icf.c (sem_item_optimizer::~sem_item_optimizer): Free each
	congruence_class_group *.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217811 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/63854: Fix leaks in test-fuzzer.c

gcc/testsuite/ChangeLog:
	PR jit/63854
	* jit.dg/test-fuzzer.c (fuzzer_init): Free malloced buffers.
	(make_random_function): Free ff->locals.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217812 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/63939
	* c-c++-common/asan/heap-overflow-1.c: Ajust dg-output.
	* c-c++-common/asan/memcmp-1.c: Likewise.
	* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
	* c-c++-common/asan/use-after-free-1.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217813 138bc75d-0d04-0410-961f-82ee72b054a4