Fix left shifts of negative integers in AArch64 InstPrinter/Disassembler
authorAlexey Samsonov <vonosmas@gmail.com>
Tue, 2 Sep 2014 16:19:41 +0000 (16:19 +0000)
committerAlexey Samsonov <vonosmas@gmail.com>
Tue, 2 Sep 2014 16:19:41 +0000 (16:19 +0000)
commit46484879254f6eac714b020f455e3756a41cd291
tree52b98cd62bdc7324060eea8a8f5d21d786fe6e3c
parent2633f795c69e0ccb32e2b9dbda60eae29c7fbea3
Fix left shifts of negative integers in AArch64 InstPrinter/Disassembler

Summary:
Left shift of negative integer is an undefined behavior, and
is reported by UBSan. It's ok for imm values to be negative, so we can
just replace left shifts with multiplications.

Test Plan: check-llvm test suite

Reviewers: t.p.northover

Reviewed By: t.p.northover

Subscribers: aemerson, mcrosier, llvm-commits

Differential Revision: http://reviews.llvm.org/D5132

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216910 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp