summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/ThreadSafety.cpp
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-08-04 21:49:51 +0000
committerJuergen Ributzka <juergen@apple.com>2014-08-04 21:49:51 +0000
commit53533e885a1b82d7eb88e7e0840012c52524af7e (patch)
treecfe4b0e217ae2f94c11eddf9b3e8adac890d5e9a /clang/lib/Analysis/ThreadSafety.cpp
parentac021bac4e0a267245d04a50c7fade6b1e434869 (diff)
downloadbcm5719-llvm-53533e885a1b82d7eb88e7e0840012c52524af7e.tar.gz
bcm5719-llvm-53533e885a1b82d7eb88e7e0840012c52524af7e.zip
[FastISel][AArch64] Fix shift lowering for i8 and i16 value types.
This fix changes the parameters #r and #s that are passed to the UBFM/SBFM instruction to get the zero/sign-extension for free. The original problem was that the shift left would use the 32-bit shift even for i8/i16 value types, which could leave the upper bits set with "garbage" values. The arithmetic shift right on the other side would use the wrong MSB as sign-bit to determine what bits to shift into the value. This fixes <rdar://problem/17907720>. llvm-svn: 214788
Diffstat (limited to 'clang/lib/Analysis/ThreadSafety.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud