<div dir="ltr">You could just write this as:<br><br><div>PtrsTy->getElementType()->getPointerElementType() == </div><div> DataTy->getElementType()<br><br>in the assert directly, without needing the extra local/ifdef, etc.<br><br>But the other thing to note is that pointer element types will be going away eventually (that being the point of the typeless pointer work I've been doing (I know it's been a bit quiet on that front of late - will be getting back to it)). So if at all possible, it'd be great if you could minimize the use of pointer element types wherever possible. Obviously some places need it, to decide if/where to insert bitcasts, etc, or to check that the type checks haven't been violated.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 17, 2016 at 1:17 PM, Tim Northover via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: tnorthover<br>
Date: Wed Feb 17 15:16:59 2016<br>
New Revision: 261155<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=261155&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=261155&view=rev</a><br>
Log:<br>
Fix warning on build without asserts<br>
<br>
Modified:<br>
llvm/trunk/lib/IR/IRBuilder.cpp<br>
<br>
Modified: llvm/trunk/lib/IR/IRBuilder.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/IRBuilder.cpp?rev=261155&r1=261154&r2=261155&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/IRBuilder.cpp?rev=261155&r1=261154&r2=261155&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/IRBuilder.cpp (original)<br>
+++ llvm/trunk/lib/IR/IRBuilder.cpp Wed Feb 17 15:16:59 2016<br>
@@ -284,13 +284,14 @@ CallInst *IRBuilderBase::CreateMaskedSca<br>
unsigned Align, Value *Mask) {<br>
auto PtrsTy = cast<VectorType>(Ptrs->getType());<br>
auto DataTy = cast<VectorType>(Data->getType());<br>
-<br>
- auto PtrTy = cast<PointerType>(PtrsTy->getElementType());<br>
unsigned NumElts = PtrsTy->getVectorNumElements();<br>
<br>
+#ifndef NDEBUG<br>
+ auto PtrTy = cast<PointerType>(PtrsTy->getElementType());<br>
assert(NumElts == DataTy->getVectorNumElements() &&<br>
- PtrTy->getElementType() == DataTy->getElementType() &&<br>
- "Incompatible pointer and data types");<br>
+ PtrTy->getElementType() == DataTy->getElementType() &&<br>
+ "Incompatible pointer and data types");<br>
+#endif<br>
<br>
if (!Mask)<br>
Mask = Constant::getAllOnesValue(VectorType::get(Type::getInt1Ty(Context),<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>