[PATCH] D23984: [X86] Fix bug in masked compress
Elena Demikhovsky via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 31 02:06:32 PDT 2016
delena added inline comments.
Comment at: lib/Target/X86/X86ISelLowering.cpp:18874
@@ -18873,1 +18873,3 @@
+ SDValue LoadAddress = DAG.getLoad(VT, SDLoc(Op), Chain, Addr,
+ MemIntr->getPointerInfo(), MemIntr->getAlignment());
We discussed with Igor and got into conclusion that this solution is not safe. The existing solution has the same problem.
If any of subsequent optimizations will break the store-vselect-compess sequence it may end up with memory exception.
In all other cases we handle masked store as a sole node in order to exclude this situation.
I suggest to add "IsCompressed" flag to MaskedStoreSDNode and than use it for COMPRESS_TO_MEM. Igor implemented masked_truncstore, you can take a look.
More information about the llvm-commits