This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC, for 4.2] marking no-throw at the tree level


This brings the no throw marking to the IPA/tree level. We cannot remove
the RTL level marking as it does more than what is here like setting
all_throwers_are_sibcalls which we don't know until after all optimizations
have happened.


What do people think about this patch?  The pass is run before inlining
and we cleanup the CFG which saves us some creating BBs when running
the inliner.

This has been bootstrapped and tested on x86_64-pc-linux-gnu with no regressions.


Thanks, Andrew Pinski

ChangeLog:
	* Makefile.in (OBJS-common): Add ipa-nothrow.o
	* ipa-nothrow.c: New file.
	* passes.c (init_optimization_passes): Add pass_ipa_nothrow
	right before pass_ipa_inline.
	* timevar.def (TV_IPA_NOTHROW): New time var.
	* tree-pass.h (pass_ipa_nothrow): New pass.

Attachment: ipanothrow.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]