diff options
| author | Mihai Popa <mihail.popa@gmail.com> | 2013-06-11 09:48:35 +0000 | 
|---|---|---|
| committer | Mihai Popa <mihail.popa@gmail.com> | 2013-06-11 09:48:35 +0000 | 
| commit | c1d119ed6e87747861e76ea3d6a8a12704d78d94 (patch) | |
| tree | c7d7be582f57ef274a19bf1261998fb36be3d7d8 /llvm/lib/Target | |
| parent | 1c7be576c572e82fd36d66177fa315b228567e76 (diff) | |
| download | bcm5719-llvm-c1d119ed6e87747861e76ea3d6a8a12704d78d94.tar.gz bcm5719-llvm-c1d119ed6e87747861e76ea3d6a8a12704d78d94.zip  | |
It adds support for negative zero offsets for loads and stores.
Negative zero is returned by the primary expression parser as INT32_MIN, so all that the method needs to do is to accept this value.
Behavior already present for Thumb2.
llvm-svn: 183734
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 314d37d7d58..c59ca64c117 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -994,7 +994,7 @@ public:      const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(getImm());      if (!CE) return false;      int64_t Val = CE->getValue(); -    return Val > -4096 && Val < 4096; +    return (Val == INT32_MIN) || (Val > -4096 && Val < 4096);    }    bool isAddrMode3() const {      // If we have an immediate that's not a constant, treat it as a label  | 

