(original) (raw)

On 12/13/18 9:40 PM, Matt Arsenault wrote:


On Dec 14, 2018, at 2:21 PM, Finkel, Hal J. via llvm-dev <llvm-dev@lists.llvm.org> wrote:


On 12/11/18 6:51 PM, Doerfert, Johannes Rudolf via llvm-dev wrote:
Hi,

in a recent review [0], Florian Hahn helped me to realize something that
was rather surprising to me:

The widely popular and very useful function
llvm::Value::stripPointerCasts() can return a value with a different
bit pattern than the input.

Now, I think this should not be the case but I want the hear other
opinions. Before I go on, please not that there is at least one location
in the code base [1] that makes a wrong assumption about the bit pattern
preservation.

If there's really only one place that gets this wrong (or only a few), I'm inclined to suggest option (1) below and fix this one place.

Matt, any thoughts on this?

\-Hal



Yes, I’ve wanted a version which strips addrspacecast and which doesn’t before, so +1

Do you have an opinion on which should be the default?

-Hal



-Matt
--   
Hal Finkel  
Lead, Compiler Technology and Programming Languages  
Leadership Computing Facility  
Argonne National Laboratory