On 11/24/14 15:05, Sebastian Pop wrote:
I did an experiment around these lines over the week-end, and now that you
mention it, I feel less shy to speak about; well the patch does not yet pass
bootstrap, and there still are about 20 failing test-cases. I feel better
reading the code generation part of jump-threading after this patch ;-)
Basically I think all the tree-ssa-threadupdate.c can be replaced by
duplicate_seme_region that generalizes the code generation.
Clearly next stage1 stuff, but definitely the right direction IMHO. If
you get the chance look at Bodik's thesis. As far as I know he's the
only person to really look at how to structure context sensitive
optimizations in a sane way.
I got my scripts installed on the gcc-farm. I first used an x86_64 gcc75 and
valgrind was crashing not recognizing how to decode an instruction. Then I
moved to gcc112 a powerpc64-linux where I got this data from stage2 cc1plus
compiling the same file alias.ii at -O2: (I got 3 runs of each mostly because
there is a bit of noise in all these numbers)
Yea, glibc & valgrind really need to update in lock-step as glibc gains
support for new ISAs. Certain instructions are supposed to be
interpreted as nops, but valgrind instead raises an illegal instruction.
There's a bit of noise when using valgrind like this, but it has
definitely proven useful in the past.
I'm looking at bitmap_ior_and_compl right now. Not sure if cg_annotate
is sending me on a wild goose chase yet or not.
jeff