[PATCH] D50554: [ValueTracking] Accept vectors of pointer in GetUnderlyingObject utility

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 16 23:50:52 PDT 2018


arsenm added inline comments.


================
Comment at: unittests/Analysis/ValueTrackingTest.cpp:318-322
+  StringRef Assembly = "define <2 x i32*> @f() { "
+                       "  %a = alloca i64 "
+                       "  %b = bitcast i64* %a to <2 x i32*>"
+                       "  ret <2 x i32*> %b "
+                       "} ";
----------------
skatkov wrote:
> skatkov wrote:
> > arsenm wrote:
> > > arsenm wrote:
> > > > It looks like a bug this IR is accepted by the verifier at all. This is a bitcast between different sized objects
> > > I think fixing this is a prerequisite for making any changes like this to avoid issues
> > what if the size of the pointer is 32 bit?
> It seems I'm not right here... 
This is a cast between a 64-bit pointer and 2 64-bit pointers


https://reviews.llvm.org/D50554





More information about the llvm-commits mailing list