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