[PATCH] D44093: [BUILTINS] structure pretty printer
Francis Visoiu Mistrih via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 9 12:38:04 PST 2018
thegameg added a comment.
Thanks for working on this! Few remarks in the comments.
================
Comment at: lib/CodeGen/CGBuiltin.cpp:934
+static Value *dumpRecord(CodeGenFunction &CGF, QualType RType,
+ Value*& RecordPtr, CharUnits Align,
----------------
`llvm::Value` for consistency?
================
Comment at: lib/CodeGen/CGBuiltin.cpp:966
+ Types[Context.getPointerType(Context.CharTy)] = "%s";
+ }
+
----------------
Indentation failed here.
================
Comment at: lib/CodeGen/CGBuiltin.cpp:976
+ FieldPtr = CGF.Builder.CreateAdd(FieldPtr, ConstantInt::get(CGF.IntPtrTy, Off));
+ FieldPtr = CGF.Builder.CreateIntToPtr(FieldPtr, CGF.VoidPtrTy);
+ }
----------------
I think you should use `getelementptr` instead of `ptrtoint` -> `inttoptr` https://llvm.org/docs/GetElementPtr.html
================
Comment at: lib/CodeGen/CGBuiltin.cpp:997
+ if (Types.find(CanonicalType) == Types.end())
+ Format = Types[Context.VoidPtrTy];
+ else
----------------
Indentation failed here too.
================
Comment at: lib/CodeGen/CGBuiltin.cpp:1003
+ llvm::Type *ResType = CGF.ConvertType(ResPtrType);
+ FieldPtr = CGF.Builder.CreatePointerCast(FieldPtr, ResType);
+ Address FieldAddress = Address(FieldPtr, Align);
----------------
If you use GEP you should be able to get rid of this cast here.
================
Comment at: lib/CodeGen/CGBuiltin.cpp:1009
+
+ GString = CGF.Builder.CreateGlobalStringPtr(Format + "\n");
+ TmpRes = CGF.Builder.CreateCall(Func, {GString, FieldPtr});
----------------
You can probably use `llvm::Twine` for the concatenation of `Format`: http://llvm.org/doxygen/classllvm_1_1Twine.html.
================
Comment at: lib/Sema/SemaChecking.cpp:1159
+ const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FuncType);
+ if (FT) {
+ if (!FT->isVariadic() ||
----------------
`if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FuncType))`
Repository:
rC Clang
https://reviews.llvm.org/D44093
More information about the cfe-commits
mailing list