On 01/16/15 04:04, Ilya Enkovich wrote:
Hi,
Currently compiler emits an error in case of not instrumented call to
instrumented alwyas_inline function. It happens because when we inline there
is only instrumented version of function available and we don't inline thunks.
This patch solves the problem by split of thunk production pass into two
passes. The first one removes all functions we don't have to inline. The
other one does the rest after local optimizations.
Bootstrapped and checked on x86_64-unknown-linux-gnu. This patch causes fault
in chkp-strchr.c test and also breaks instrumented bootstrap. Both are due to
problem in SRA fixed by the next patch. OK for trunk?
Thanks,
Ilya
--
gcc/
2015-01-16 Ilya Enkovich <ilya.enkov...@intel.com>
* ipa-chkp.c (chkp_produce_thunks): Add early param.
to support splitting of thunk production. Do not remove bodies of
"always_inline" functions.
Is that an accurate representation of what changed?
(pass_data_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_produce_thunks::execute): Adjust to new
chkp_produce_thunks signature.
(make_pass_ipa_chkp_early_produce_thunks): New.
* passes.def (pass_ipa_chkp_early_produce_thunks): New.
(pass_ipa_chkp_produce_thunks): Move after local optimizations.
* tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
gcc/testsuite/
2015-01-16 Ilya Enkovich <ilya.enkov...@intel.com>
* gcc.target/i386/chkp-always_inline.c: New.
With the updated ChangeLog, this is fine.
jeff