diff options
author | James Y Knight <jyknight@google.com> | 2015-07-13 16:36:22 +0000 |
---|---|---|
committer | James Y Knight <jyknight@google.com> | 2015-07-13 16:36:22 +0000 |
commit | 46f91c8457d7145d1b398e683f2e525857aee35c (patch) | |
tree | 0e8eb8dc508035aa56ad983c5a25636f5e376372 /llvm/lib | |
parent | 67d81c8a77146ea479f64284022b018963269c58 (diff) | |
download | bcm5719-llvm-46f91c8457d7145d1b398e683f2e525857aee35c.tar.gz bcm5719-llvm-46f91c8457d7145d1b398e683f2e525857aee35c.zip |
Fix handling of the 'n' asm constraint with invalid operands.
It had accidently accepted a symbol+offset value (and emitted
incorrect code for it, keeping only the offset part) instead of
properly reporting the constraint as invalid.
Differential Revision: http://reviews.llvm.org/D11039
llvm-svn: 242040
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp index e229b6dd7b6..fbf651277c7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp @@ -2218,8 +2218,8 @@ void TargetLowering::LowerAsmOperandForConstraint(SDValue Op, Ops.push_back(DAG.getTargetGlobalAddress(GA->getGlobal(), C ? SDLoc(C) : SDLoc(), Op.getValueType(), Offs)); - return; } + return; } if (C) { // just C, no GV. // Simple constants are not allowed for 's'. @@ -2229,8 +2229,8 @@ void TargetLowering::LowerAsmOperandForConstraint(SDValue Op, // ScheduleDAGSDNodes::EmitNode, which is very generic. Ops.push_back(DAG.getTargetConstant(C->getAPIntValue().getSExtValue(), SDLoc(C), MVT::i64)); - return; } + return; } break; } |