[llvm-commits] [llvm] r77262 - /llvm/trunk/lib/VMCore/LLVMContext.cpp
Dan Gohman
gohman at apple.com
Mon Jul 27 14:59:50 PDT 2009
Author: djg
Date: Mon Jul 27 16:59:50 2009
New Revision: 77262
URL: http://llvm.org/viewvc/llvm-project?rev=77262&view=rev
Log:
Add a comment about the "getelementptr null" trick.
Modified:
llvm/trunk/lib/VMCore/LLVMContext.cpp
Modified: llvm/trunk/lib/VMCore/LLVMContext.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/LLVMContext.cpp?rev=77262&r1=77261&r2=77262&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/LLVMContext.cpp (original)
+++ llvm/trunk/lib/VMCore/LLVMContext.cpp Mon Jul 27 16:59:50 2009
@@ -419,6 +419,7 @@
Constant* LLVMContext::getConstantExprSizeOf(const Type* Ty) {
// sizeof is implemented as: (i64) gep (Ty*)null, 1
+ // Note that a non-inbounds gep is used, as null isn't within any object.
Constant *GEPIdx = ConstantInt::get(Type::Int32Ty, 1);
Constant *GEP = getConstantExprGetElementPtr(
getNullValue(getPointerTypeUnqual(Ty)), &GEPIdx, 1);
More information about the llvm-commits
mailing list