[llvm] Correctly set pointer bit for aggregate values in SelectionDAGBuilder to fix CCIfPtr (PR #70554)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 30 19:17:58 PST 2023


================
@@ -75,20 +75,23 @@ void ComputeValueVTs(const TargetLowering &TLI, const DataLayout &DL, Type *Ty,
                      SmallVectorImpl<uint64_t> *FixedOffsets,
                      uint64_t StartingOffset);
 
-/// Variant of ComputeValueVTs that also produces the memory VTs.
+/// Variant of ComputeValueVTs that also produces the memory VTs and VT types.
----------------
arsenm wrote:

Right, the EVTs do unfortunately squash away the pointer types (because they also resolve to integer MVTs, the Type* is dropped). I meant more the other direction, would it work to change this to return the aggregate split Type *s *instead* of the EVT? The client would then have a thin Type*->EVT wrapper 

https://github.com/llvm/llvm-project/pull/70554


More information about the llvm-commits mailing list