[llvm] r260264 - [AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass.

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 11:42:19 PST 2016


Author: mcrosier
Date: Tue Feb  9 13:42:19 2016
New Revision: 260264

URL: http://llvm.org/viewvc/llvm-project?rev=260264&view=rev
Log:
[AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass.

Modified:
    llvm/trunk/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp

Modified: llvm/trunk/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp?rev=260264&r1=260263&r2=260264&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp (original)
+++ llvm/trunk/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp Tue Feb  9 13:42:19 2016
@@ -1911,6 +1911,11 @@ bool AArch64LoadStoreOpt::runOnMachineFu
 // FIXME: Do we need/want a pre-alloc pass like ARM has to try to keep
 // loads and stores near one another?
 
+// FIXME: When pairing store instructions it's very possible for this pass to
+// hoist a store with a KILL marker above another use (without a KILL marker).
+// The resulting IR is invalid, but nothing uses the KILL markers after this
+// pass, so it's never caused a problem in practice.
+
 /// createAArch64LoadStoreOptimizationPass - returns an instance of the
 /// load / store optimization pass.
 FunctionPass *llvm::createAArch64LoadStoreOptimizationPass() {




More information about the llvm-commits mailing list