llvm-project/llvm/lib/Target/Mips
Justin Bogner 6499b5f086 [mips] Fix some UB by shifting before sign-extending
Avoid shifting a negative value by sign-extending after the shift.

Fixes a couple of tests that were failing under ubsan.

llvm-svn: 240381
2015-06-23 07:28:57 +00:00
..
AsmParser [mips] [IAS] Add support for LAReg with identical source and destination register operands. 2015-06-22 13:10:23 +00:00
Disassembler [mips] Fix some UB by shifting before sign-extending 2015-06-23 07:28:57 +00:00
InstPrinter MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
MCTargetDesc Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
TargetInfo [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
CMakeLists.txt MipsABIInfo class is used in different libraries. Moving the files to MCTargetDesc folder(LLVMMipsDesc library) prevents linkage errors. There are no functional changes. 2014-12-17 11:49:56 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
MSA.txt Revert r221048 - Test commit 2014-11-01 16:08:03 +00:00
Makefile Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MicroMips32r6InstrFormats.td [mips][microMIPS] Implement ERET and ERETNC instructions 2015-06-11 10:22:46 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPS] Implement ERET and ERETNC instructions 2015-06-11 10:22:46 +00:00
MicroMipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Make usage of NOT16 by code generator 2015-03-11 20:28:31 +00:00
Mips.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
Mips16FrameLowering.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
Mips16FrameLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16HardFloat.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16HardFloatInfo.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16HardFloatInfo.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16ISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
Mips16ISelDAGToDAG.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16ISelLowering.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16ISelLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16InstrFormats.td Fix a whole bunch of binary literals which were the wrong size. All were being silently zero extended to the correct width. 2014-08-07 05:46:54 +00:00
Mips16InstrInfo.cpp [mips] Make sure that we don't adjust the stack pointer by zero amount. 2015-04-02 10:14:54 +00:00
Mips16InstrInfo.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
Mips16InstrInfo.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
Mips16RegisterInfo.cpp Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips16RegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips32r6InstrFormats.td [mips][microMIPSr6] Implement initial mapping support 2015-04-20 12:42:08 +00:00
Mips32r6InstrInfo.td [mips][microMIPSr6] Implement BEQZALC, BGEZALC, BGTZALC, BLEZALC, BLTZALC and BNEZALC instructions 2015-05-27 14:19:22 +00:00
Mips64InstrInfo.td Recommit "[mips] [IAS] Add support for BNE and BEQ with an immediate operand." (r239396). 2015-06-11 10:36:10 +00:00
Mips64r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
MipsAnalyzeImmediate.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
MipsAnalyzeImmediate.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsAsmPrinter.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsAsmPrinter.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsCCState.cpp AArch64: Safely handle the incoming sret call argument. 2015-02-16 18:10:47 +00:00
MipsCCState.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsCallingConv.td Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match 2015-05-07 23:10:21 +00:00
MipsCondMov.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsConstantIslandPass.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsDSPInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsDSPInstrInfo.td
MipsDelaySlotFiller.cpp [mips] Do not place users of $ra in the delay slot of call instructions. 2015-05-14 13:17:56 +00:00
MipsFastISel.cpp [mips][FastISel] Implement bswap. 2015-06-01 16:40:45 +00:00
MipsFrameLowering.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsFrameLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsISelDAGToDAG.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsISelLowering.cpp Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
MipsISelLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MipsInstrFormats.td [mips] Add new format for dmtc2/dmfc2 for Octeon CPUs. 2015-05-28 16:23:16 +00:00
MipsInstrInfo.cpp [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
MipsInstrInfo.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsInstrInfo.td [mips] [IAS] Add support for the B{L,G}{T,E}(U) branch pseudo-instructions. 2015-06-17 13:20:24 +00:00
MipsLongBranch.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsMCInstLower.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
MipsMCInstLower.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsMSAInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsMSAInstrInfo.td [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsMachineFunction.cpp [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMachineFunction.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsModuleISelDAGToDAG.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsOptimizePICCall.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsOptionRecord.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MipsOs16.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsRegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.h [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.td [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. 2015-02-23 17:22:16 +00:00
MipsSEFrameLowering.cpp Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSEFrameLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSEISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelDAGToDAG.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSEISelLowering.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelLowering.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSEInstrInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEInstrInfo.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSERegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsSERegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
MipsSchedule.td [mips] Add itineraries for ext and ins instructions. 2015-03-18 06:28:38 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsSubtarget.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsSubtarget.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsTargetMachine.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsTargetMachine.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00
MipsTargetObjectFile.cpp Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetObjectFile.h Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetStreamer.h Fixed/added namespace ending comments using clang-tidy. NFC 2015-06-19 15:57:42 +00:00