https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93429
Bug ID: 93429 Summary: Missed IPA-CP on by-ref argument directly passed through from caller Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: fxue at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- Here is a case, f1 (int *p1) { ... = *p1; ... } f2 (int *p2) { *p2 = 2; f1 (p2); } It is easy to that in f1(), *p1 should be 2 after a simple propagation from f2() to f1(). But current IPA never do that if argument to f1() is a simple pass-through of a parameter of f2(), as p2 -> p1.