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.
------------------------------------------------------------------------------
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