This is an archive of the discontinued LLVM Phabricator instance.

[RS4GC] Handle vectors of pointers in non-live clobbering
ClosedPublic

Authored by danilaml on Aug 4 2022, 12:10 AM.

Details

Summary

Fix crash when trying to unconditionally cast alloca type to PointerType

Diff Detail

Event Timeline

danilaml created this revision.Aug 4 2022, 12:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2022, 12:10 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
danilaml requested review of this revision.Aug 4 2022, 12:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2022, 12:10 AM
danilaml added inline comments.Aug 4 2022, 12:14 AM
llvm/test/Transforms/RewriteStatepointsForGC/vector-nonlive-clobber.ll
4

will fix typo before landing

apilipenko accepted this revision.Aug 15 2022, 10:45 AM
apilipenko added inline comments.
llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
2086–2090
This revision is now accepted and ready to land.Aug 15 2022, 10:45 AM
This revision was landed with ongoing or failed builds.Aug 16 2022, 7:47 AM
This revision was automatically updated to reflect the committed changes.
danilaml marked an inline comment as done.Aug 16 2022, 7:50 AM
danilaml added inline comments.
llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
2086–2090

Ternary operator is not able to implicitly cast ConstantAggregateZero and ConstantPointerNull to the common base type Constant, so this version would need explicit static_casts at which point I feel like the if wins out in terseness/readability.