This is an archive of the discontinued LLVM Phabricator instance.

PR21403: CGSCC should not treat intrinsics as function calls
ClosedPublic

Authored by spatel on Nov 4 2014, 3:14 PM.

Details

Summary

This patch tries to make the handling of calls to intrinsics in CGSCC consistent: they are not treated like regular function calls (because they are never lowered to function calls?).

Without this patch, we can get dangling pointer asserts from the subsequent loop that processes callsites because it already ignores intrinsics.

Please see http://llvm.org/bugs/show_bug.cgi?id=21403 for more details / discussion.

Diff Detail

Repository
rL LLVM

Event Timeline

spatel updated this revision to Diff 15788.Nov 4 2014, 3:14 PM
spatel retitled this revision from to PR21403: CGSCC should not treat intrinsics as function calls.
spatel updated this object.
spatel edited the test plan for this revision. (Show Details)
spatel added reviewers: nlewycky, chandlerc, hfinkel.
spatel added a subscriber: Unknown Object (MLST).

Ping.

Note: http://llvm.org/bugs/show_bug.cgi?id=21527 has been marked as a dup of PR21403.

hfinkel accepted this revision.Nov 11 2014, 3:49 PM
hfinkel edited edge metadata.

Based on an IRC conversation with Chandler a few minutes ago, I think this is okay (because CGSCC should not actually visit the intrinsic call because there isn't really a called function). LGTM.

This revision is now accepted and ready to land.Nov 11 2014, 3:49 PM
spatel closed this revision.Nov 12 2014, 10:26 AM
spatel updated this revision to Diff 16106.

Closed by commit rL221802 (authored by @spatel).

Thanks, Hal and Chandler. Committed at r221802.