[PATCH] D40701: [ARM][DAG] Reenable post-legalize store merge

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 1 12:45:14 PST 2017


efriedma added inline comments.


================
Comment at: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:12712
+                        .zextOrTrunc(ElementSizeBits)
+                        .zextOrTrunc(SizeInBits);
       } else {
----------------
eastig wrote:
> efriedma wrote:
> > This isn't what a "truncating" store means for floating-point values.  It converts the value using ISD::FP_ROUND.  (We use nodes like this to model something like an x87 fstps; not sure if any other target uses it.)
> Does it mean such stores should not be merged?
We can still merge them... we just have to call APFloat::convert() to narrow the value to the right size, as opposed to an integer truncate.  Or I guess we could just blacklist float truncstores.


Repository:
  rL LLVM

https://reviews.llvm.org/D40701





More information about the llvm-commits mailing list