On 10/28/14 10:38, Ilya Enkovich wrote:
Hi,
After recent merge with trunk I found that new IPA pass ICF requires few
modifications for instrumented code:
- instrumentation thunk existence means we cannot merge function into another
one and should generate thunk instead
- thunk generation should set with_bounds flag for instrumented funnctions
- when DECL_INITIAL is cleaned for symbol, need_bounds_init should also be
reset
Merge also required some minor changes in other patches due to changes
includes, etc. Nothing important to repost.
With these changes I get clean bootstrap and make check on linux-x86_64. Also
have clean runs of instrumented (run in NOP mode) and not isntrumented SPEC2000
and SPEC2006.
I also tried to bootstrap it for Darwin but unfortunately trunk fails to
bootstrap there even with patches from PR63534 applied. Error is the same for
mpx branch.
Thanks,
Ilya
--
2014-10-28 Ilya Enkovich <ilya.enkov...@intel.com>
* cgraphunit.c (cgraph_node::expand_thunk): Set with_bounds flag
for created call statement.
* ipa-icf.c (sem_function::merge): Do not merge when instrumentation
thunk still exists.
(sem_variable::merge): Reset need_bounds_init flag.
OK.
Last few days have been hell and thus hard to find the time to look at
the state of the Darwin world. Thanks for trying to test Darwin.
jeff