From: Chad Rosier Date: Tue, 9 Feb 2016 19:42:19 +0000 (+0000) Subject: [AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass. X-Git-Tag: llvmorg-3.9.0-rc1~14696 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f8b09da3fb9a3b78d7813b4adc2ac5916c6f25b;p=platform%2Fupstream%2Fllvm.git [AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass. llvm-svn: 260264 --- diff --git a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp index 9f454b2..f85d6a8 100644 --- a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp @@ -1911,6 +1911,11 @@ bool AArch64LoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) { // 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() {