diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2011-09-13 22:19:59 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2011-09-13 22:19:59 +0000 |
| commit | f78c6a83ee0f6ead22c608aeb2444a1248e604bd (patch) | |
| tree | b9b578df3e9cec5ed584ff60807ed4f4e11db6ae /llvm/lib/CodeGen | |
| parent | acca089617b60d966c96b5b56d6e0c7d27acf2c4 (diff) | |
| download | bcm5719-llvm-f78c6a83ee0f6ead22c608aeb2444a1248e604bd.tar.gz bcm5719-llvm-f78c6a83ee0f6ead22c608aeb2444a1248e604bd.zip | |
Fix check for unaligned load/store so it doesn't catch over-aligned load/store.
llvm-svn: 139649
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 4c58fe92266..9d86c759b82 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -3402,7 +3402,7 @@ void SelectionDAGBuilder::visitAtomicLoad(const LoadInst &I) { EVT VT = EVT::getEVT(I.getType()); - if (I.getAlignment() * 8 != VT.getSizeInBits()) + if (I.getAlignment() * 8 < VT.getSizeInBits()) report_fatal_error("Cannot generate unaligned atomic load"); SDValue L = @@ -3432,7 +3432,7 @@ void SelectionDAGBuilder::visitAtomicStore(const StoreInst &I) { EVT VT = EVT::getEVT(I.getValueOperand()->getType()); - if (I.getAlignment() * 8 != VT.getSizeInBits()) + if (I.getAlignment() * 8 < VT.getSizeInBits()) report_fatal_error("Cannot generate unaligned atomic store"); if (TLI.getInsertFencesForAtomic()) |

