OK, I figured out that -IPA:cprop=0 (constant propagation)can disable this.

Tianwei
On Tue, Jun 22, 2010 at 7:09 PM, Tianwei <tianwei.sh...@gmail.com> wrote:

> Hi, all,
>   I have the following two functions, as:
> void foo_2(int **m, int *n) {
>   *m = n;
> }
>
> void foo() {
>    foo_2(&p, &y);
> }
>
> with ipa, and disable inlining, foo_2 will be transformed into:
> FUNC_ENTRY <1,54,foo_2> {line: 15}
>  IDNAME 0 <2,1,m>
> BODY
>  BLOCK {line: 0}
>  PRAGMA 0 73 <null-st> 0 (0x0) # WOPT_FINISHED_OPTIMIZATION {line: 0}
>  END_BLOCK
>  BLOCK {line: 0}
>  END_BLOCK
>  BLOCK {line: 15}
>  PRAGMA 0 120 <null-st> 0 (0x0) # PREAMBLE_END {line: 15}
>   U8LDA 0 <1,56,y> T<54,anon_ptr.,8> {class 102}
>  U8STID 0 <1,53,p> T<54,anon_ptr.,8> {line: 0} {class 102}
>  RETURN {line: 16}
>  END_BLOCK
>
>
> We can see that p and y are propagated into foo_2 with inter-procedural
> analysis, I want to know which phase in IPA is responsible for this
> optimization, any option to disable this?
>
> Thanks.
>
> Tianwei
> --
> Sheng, Tianwei
> Inst. of High Performance Computing
> Dept. of Computer Sci. & Tech.
> Tsinghua Univ.
>



-- 
Sheng, Tianwei
Inst. of High Performance Computing
Dept. of Computer Sci. & Tech.
Tsinghua Univ.
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to