summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2013-02-06 02:06:33 +0000
committerEvan Cheng <evan.cheng@apple.com>2013-02-06 02:06:33 +0000
commita72b9709d75b82c1c64d3212f18f846849bbc2cf (patch)
tree71f7ac201d73d2c68b97d80cca36947036e75539 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
parent4b00144e1b85e12af789ebfa57669c7cfaa89a0d (diff)
downloadbcm5719-llvm-a72b9709d75b82c1c64d3212f18f846849bbc2cf.tar.gz
bcm5719-llvm-a72b9709d75b82c1c64d3212f18f846849bbc2cf.zip
Tweak check to avoid integer overflow (for insanely large alignments)
llvm-svn: 174482
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 9bd6ae61dc4..e0d664314a9 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -3520,7 +3520,7 @@ void SelectionDAGBuilder::visitAtomicLoad(const LoadInst &I) {
EVT VT = TLI.getValueType(I.getType());
- if (I.getAlignment() * 8 < VT.getSizeInBits())
+ if (I.getAlignment() < VT.getSizeInBits() / 8)
report_fatal_error("Cannot generate unaligned atomic load");
SDValue L =
@@ -3550,7 +3550,7 @@ void SelectionDAGBuilder::visitAtomicStore(const StoreInst &I) {
EVT VT = TLI.getValueType(I.getValueOperand()->getType());
- if (I.getAlignment() * 8 < VT.getSizeInBits())
+ if (I.getAlignment() < VT.getSizeInBits() / 8)
report_fatal_error("Cannot generate unaligned atomic store");
if (TLI.getInsertFencesForAtomic())
OpenPOWER on IntegriCloud