This is an archive of the discontinued LLVM Phabricator instance.

Fix an issue with certain constants as live values in patchpoints.
ClosedPublic

Authored by sanjoy on Nov 3 2014, 2:52 PM.

Details

Reviewers
atrick
ributzka
Summary

The patchpoint lowering logic crashes with live constants equal to the tombstone or empty keys of a DenseMap<uint64_t, T>. This patch fixes the issue (and adds a tests case).

Diff Detail

Event Timeline

sanjoy updated this revision to Diff 15735.Nov 3 2014, 2:52 PM
sanjoy retitled this revision from to Fix an issue with certain constants as live values in patchpoints..
sanjoy updated this object.
sanjoy edited the test plan for this revision. (Show Details)
sanjoy added reviewers: ributzka, atrick.
sanjoy added a subscriber: Unknown Object (MLST).
ributzka accepted this revision.Nov 3 2014, 2:58 PM
ributzka edited edge metadata.

LGTM

lib/CodeGen/StackMaps.cpp
225

uint64_ts -> 'uint64_t's

230

Maybe we should add an assert here to make sure this won't happen in the future.

This revision is now accepted and ready to land.Nov 3 2014, 2:58 PM
atrick edited edge metadata.Nov 3 2014, 3:51 PM

Thanks! Good idea Juergen.
-Andy

sanjoy closed this revision.Dec 11 2014, 8:19 PM