[PATCH] D30047: [GlobalISel] Split LowLevelType to a fundamental type in libSupport.

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 17 07:59:28 PST 2017


dsanders added a comment.

I've been trying to preserve the current style of LLT usage but having seen this I realize there's no need to do that.

I think we should make llvm::getLLT() a member of Type (see example usage below and https://reviews.llvm.org/differential/diff/88897/) but aside from that and a couple nits I think this seems like a reasonable way to fix the layering problem.

I'm inclined to leave the MVT issue as-is since that's at least a header-only class.



================
Comment at: include/llvm/CodeGen/LowLevelType.h:24-27
 class DataLayout;
 class LLVMContext;
 class Type;
 class raw_ostream;
----------------
LLVMContext, and raw_ostream aren't needed anymore.


================
Comment at: lib/Target/AArch64/AArch64CallLowering.cpp:195
     SplitArgs.push_back(
-        ArgInfo{MRI.createGenericVirtualRegister(LLT{*SplitTy, DL}), SplitTy,
+        ArgInfo{MRI.createGenericVirtualRegister(getLLT(*SplitTy, DL)), SplitTy,
                 OrigArg.Flags, OrigArg.IsFixed});
----------------
For example:
  SplitTy->getLLT(DL)


https://reviews.llvm.org/D30047





More information about the llvm-commits mailing list