public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Tutorials/pointers for IPA writing passes
@ 2013-12-17  0:05 Sandeep K Chaudhary
  2013-12-17 23:04 ` Jan Hubicka
  0 siblings, 1 reply; 2+ messages in thread
From: Sandeep K Chaudhary @ 2013-12-17  0:05 UTC (permalink / raw)
  To: gcc-help, gcc

Hi,

Can someone please point out some tutorials for writing IPA passes in
GCC? I am struggling to achieve assignment calculations in GIMPLE pass
and I feel that an IPA pass can solve the issue. I don't have much
idea about IPA passes (simple_ipa_opt_pass or ipa_opt_pass) but can
learn and figure things out if I can tutorials/help.

Thanks a lot in advance !

Regards,
Sandeep.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Tutorials/pointers for IPA writing passes
  2013-12-17  0:05 Tutorials/pointers for IPA writing passes Sandeep K Chaudhary
@ 2013-12-17 23:04 ` Jan Hubicka
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Hubicka @ 2013-12-17 23:04 UTC (permalink / raw)
  To: Sandeep K Chaudhary; +Cc: gcc-help, gcc

Hi,
the overall description how IPA optimization is structured (describing difference in
between simple_ipa_opt_pass and ipa_opt_pass) is in http://arxiv.org/pdf/1010.2196v2.pdf
and also in lto.texi.
There is not exactly a tutrial, but generally simple_ipa_opt_pass is easier to start
with since you can directly touch function bodies, while ipa_opt_pass needs you 
to split everything into analysis/propagation/modification stages.
So you probably want to start with implementing simple_ipa_opt_pass that does what
you need while keeping in mind that you may later turn it intp ipa_opt_pass.

You can look at the existing simple_ipa_opt_passes to see how they are structured.
probably the easiest is pass_data_ipa_increase_alignment in tree-vectorizer.c that
consist of one function walking all variables.

Honza

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-12-17 23:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-17  0:05 Tutorials/pointers for IPA writing passes Sandeep K Chaudhary
2013-12-17 23:04 ` Jan Hubicka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).