[PATCH] D25914: Redo store splitting in CodeGenPrepare
    David Majnemer via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Nov 25 21:07:13 PST 2016
    
    
  
majnemer added inline comments.
================
Comment at: lib/CodeGen/CodeGenPrepare.cpp:5300-5301
+                                const TargetLowering &TLI) {
+  unsigned HalfValBitSize =
+      DL.getTypeSizeInBits(SI.getValueOperand()->getType()) / 2;
+
----------------
This looks wrong. Shouldn't it be `getTypeStoreSizeInBits` instead of `getTypeSizeInBits`?
================
Comment at: lib/CodeGen/CodeGenPrepare.cpp:5303
+
+  // match the following patterns:
+  // (store (or (zext LValue to i64),
----------------
Start with an uppercase letter.
================
Comment at: lib/CodeGen/CodeGenPrepare.cpp:5320-5322
+      DL.getTypeSizeInBits(LValue->getType()) > HalfValBitSize ||
+      !HValue->getType()->isIntegerTy() ||
+      DL.getTypeSizeInBits(HValue->getType()) > HalfValBitSize)
----------------
Ditto.
================
Comment at: lib/CodeGen/CodeGenPrepare.cpp:5327-5328
+  // as the input of target query.
+  BitCastInst *LBC = dyn_cast<BitCastInst>(LValue);
+  BitCastInst *HBC = dyn_cast<BitCastInst>(HValue);
+  EVT LowTy = LBC ? EVT::getEVT(LBC->getOperand(0)->getType())
----------------
`auto *`
Repository:
  rL LLVM
https://reviews.llvm.org/D25914
    
    
More information about the llvm-commits
mailing list