diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp b/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp index e73875de709..48f74073147 100644 --- a/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp +++ b/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp @@ -1080,10 +1080,8 @@ int HexagonLoopIdiomRecognize::getSCEVStride(const SCEVAddRecExpr *S) { bool HexagonLoopIdiomRecognize::isLegalStore(Loop *CurLoop, StoreInst *SI) { - bool IsVolatile = false; - if (SI->isVolatile() && HexagonVolatileMemcpy) - IsVolatile = true; - else if (!SI->isSimple()) + // Allow volatile stores if HexagonVolatileMemcpy is enabled. + if (!(SI->isVolatile() && HexagonVolatileMemcpy) && !SI->isSimple()) return false; Value *StoredVal = SI->getValueOperand(); |

