llvm-6502/lib/Target/AArch64
Alexey Samsonov 4648487925 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
2014-09-02 16:19:41 +00:00
..
AsmParser Make isValidMCLOHType take unsigned instead of enum to avoid loading invalid enum values 2014-08-29 22:34:28 +00:00
Disassembler Fix left shifts of negative integers in AArch64 InstPrinter/Disassembler 2014-09-02 16:19:41 +00:00
InstPrinter Fix left shifts of negative integers in AArch64 InstPrinter/Disassembler 2014-09-02 16:19:41 +00:00
MCTargetDesc Remove HasLEB128. 2014-08-15 14:01:07 +00:00
TargetInfo AArch64: stop trying to take control of all UnknownArch triples. 2014-08-08 08:27:44 +00:00
Utils Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64A57FPLoadBalancing.cpp [AArch64] FPLoadBalancing: move ownership of the chain to its current accumulator register 2014-08-29 09:54:11 +00:00
AArch64AddressTypePromotion.cpp Fix typos in comments 2014-08-15 22:17:28 +00:00
AArch64AdvSIMDScalarPass.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
AArch64AsmPrinter.cpp Delete unused argument in AArch64MCInstLower constructor: it doesn't 2014-08-19 21:51:08 +00:00
AArch64BranchRelaxation.cpp Testing commit access. 2014-08-14 16:20:50 +00:00
AArch64CallingConvention.td Teach the AArch64 backend about v4f16 and v8f16 2014-08-27 16:16:04 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
AArch64CollectLOH.cpp AArch64: use std::fill instead of memset 2014-08-26 03:33:26 +00:00
AArch64ConditionalCompares.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
AArch64DeadRegisterDefinitionsPass.cpp Remove 'virtual' keyword from methods markedwith 'override' keyword. 2014-08-30 16:48:34 +00:00
AArch64ExpandPseudoInsts.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
AArch64FastISel.cpp [FastISel][AArch64] Use the correct register class for branches. 2014-08-29 23:48:06 +00:00
AArch64FrameLowering.cpp Fix typos: 2014-08-11 18:04:46 +00:00
AArch64FrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64InstrAtomics.td Make use of isAtLeastRelease/Acquire in the ARM/AArch64 backends 2014-08-18 16:48:58 +00:00
AArch64InstrFormats.td Teach the AArch64 backend about v4f16 and v8f16 2014-08-27 16:16:04 +00:00
AArch64InstrInfo.cpp Revert r216805 "[MachineCombiner][AArch64] Use the correct register class for MADD, SUB, and OR." 2014-08-30 06:16:26 +00:00
AArch64InstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64InstrInfo.td [AArch64] Fix some failures exposed by value type v4f16 and v8f16. 2014-08-29 01:31:42 +00:00
AArch64ISelDAGToDAG.cpp Merge Extend and Shift into a UBFX 2014-09-02 09:33:56 +00:00
AArch64ISelLowering.cpp Silencing an MSVC C4334 warning ('<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)). NFC. 2014-09-02 12:19:02 +00:00
AArch64ISelLowering.h Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
AArch64LoadStoreOptimizer.cpp Add missing closing namespace comment. 2014-08-11 22:42:31 +00:00
AArch64MachineCombinerPattern.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64MachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64MCInstLower.cpp Delete unused argument in AArch64MCInstLower constructor: it doesn't 2014-08-19 21:51:08 +00:00
AArch64MCInstLower.h Delete unused argument in AArch64MCInstLower constructor: it doesn't 2014-08-19 21:51:08 +00:00
AArch64PerfectShuffle.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64PromoteConstant.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64RegisterInfo.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
AArch64RegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64RegisterInfo.td Teach the AArch64 backend about v4f16 and v8f16 2014-08-27 16:16:04 +00:00
AArch64SchedA53.td Fix typos 2014-05-31 21:26:28 +00:00
AArch64SchedA57.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64SchedA57WriteRes.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64SchedCyclone.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64Schedule.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64SelectionDAGInfo.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
AArch64SelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64StorePairSuppress.cpp Remove 'virtual' keyword from methods markedwith 'override' keyword. 2014-08-30 16:48:34 +00:00
AArch64Subtarget.cpp Move to a private function to initialize the subtarget dependencies 2014-06-11 00:46:34 +00:00
AArch64Subtarget.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64TargetMachine.cpp Rename AtomicExpandLoadLinked into AtomicExpand 2014-08-21 21:50:01 +00:00
AArch64TargetMachine.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64TargetObjectFile.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64TargetObjectFile.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AArch64TargetTransformInfo.cpp Allow vectorization of division by uniform power of 2. 2014-08-25 04:56:54 +00:00
CMakeLists.txt [AArch64] Add an FP load balancing pass for Cortex-A57 2014-08-08 12:33:21 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00