These load should always return the same result. It'll also be nice if there's a way to create a instruction specific list of metadata that is always safe to speculate but this should be good and simple enough for now...
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Actually I don't think this is correct so I'm closing this. It should actually be valid to only mark a load as constant even if it is only true behind a branch and in such case moving the load out of the branch should indeed have the metadata stripped out.
clang-format: please reformat the code