llvm-project/llvm/lib/Target/Mips
Simon Dardis a2d8cc3db9 [mips][atomics] Fix partword atomic binary operation implementation
Currently Mips::emitAtomicBinaryPartword() does not properly respect the
width of pointers. For MIPS64 this causes the memory address that the ll/sc
sequence uses to be truncated. At runtime this causes a segmentation fault.

This can be fixed by applying similar changes as r266204, so that a full 64bit
pointer is loaded.

Reviewers: dsanders

Differential Review: http://reviews.llvm.org/D19651

llvm-svn: 267900
2016-04-28 16:26:43 +00:00
..
AsmParser [mips][microMIPS] Revert commit r266977 2016-04-25 15:34:57 +00:00
Disassembler [mips][microMIPS] Revert commit r266861. 2016-04-22 16:53:15 +00:00
InstPrinter [mips] Use `formatImm` call to print immediate value in the `MipsInstPrinter` 2016-03-17 10:43:36 +00:00
MCTargetDesc [mips][atomics] Fix partword atomic binary operation implementation 2016-04-28 16:26:43 +00:00
TargetInfo Remove autoconf support 2016-01-26 21:29:08 +00:00
CMakeLists.txt [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
LLVMBuild.txt
MSA.txt Revert: r249536 - Testing commit access with a trival whitespace change. 2015-10-07 10:57:06 +00:00
MicroMips32r6InstrFormats.td [mips][microMIPS] Revert commit r266861. 2016-04-22 16:53:15 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPS] Add CodeGen support for SUBU16, SUB, SUBU, DSUB and DSUBU instructions 2016-04-27 11:31:44 +00:00
MicroMips64r6InstrFormats.td [mips][microMIPS] Implement ldpc instruction 2016-04-21 14:32:12 +00:00
MicroMips64r6InstrInfo.td [mips][microMIPS] Add CodeGen support for SUBU16, SUB, SUBU, DSUB and DSUBU instructions 2016-04-27 11:31:44 +00:00
MicroMipsDSPInstrFormats.td [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
MicroMipsDSPInstrInfo.td [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
MicroMipsInstrFPU.td [mips][microMIPS] Revert commit r266861. 2016-04-22 16:53:15 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Revert commit r267137 2016-04-25 15:40:08 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Add CodeGen support for SUBU16, SUB, SUBU, DSUB and DSUBU instructions 2016-04-27 11:31:44 +00:00
Mips.h [Mips] Fix -Wunused-private-field warning after r263444. 2016-03-14 18:10:20 +00:00
Mips.td [TableGen] Remove MnemonicContainsDot from AsmParser. It isn't used. NFC 2015-12-29 07:03:30 +00:00
Mips16FrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16FrameLowering.h PrologEpilogInserter: Rewrite API to determine callee save regsiters. 2015-07-14 17:17:13 +00:00
Mips16HardFloat.cpp [mips] Use range-based for loops. NFC. 2016-03-14 15:05:30 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp [mips] Remove redundant inclusions of MipsAnalyzeImmediate.h 2016-02-03 15:54:12 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16ISelLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16InstrInfo.h
Mips16InstrInfo.td [mips] Trivial corrections to range checked immediates. 2016-04-11 15:20:40 +00:00
Mips16RegisterInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td [mips][microMIPS] Revert commit r266977 2016-04-25 15:34:57 +00:00
Mips64InstrInfo.td [mips][microMIPS] Add CodeGen support for SUBU16, SUB, SUBU, DSUB and DSUBU instructions 2016-04-27 11:31:44 +00:00
Mips64r6InstrInfo.td [mips][microMIPS] Implement ldpc instruction 2016-04-21 14:32:12 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [mips] More range-based for loops. NFC. 2016-04-15 20:43:17 +00:00
MipsAsmPrinter.h [mips] Range check uimm20 and fixed a bug this revealed. 2016-02-29 16:06:38 +00:00
MipsCCState.cpp [mips] Fix an issue with long double when function roundl is defined 2016-03-14 12:50:23 +00:00
MipsCCState.h
MipsCallingConv.td [mips] Interrupt attribute support for mips32r2+. 2015-10-26 12:38:43 +00:00
MipsCondMov.td Revert "[mips] Promote the result of SETCC nodes to GPR width." 2016-03-01 20:25:43 +00:00
MipsConstantIslandPass.cpp Add MachineFunctionProperty checks for AllVRegsAllocated for target passes 2016-04-04 17:09:25 +00:00
MipsDSPInstrFormats.td [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
MipsDSPInstrInfo.td [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
MipsDelaySlotFiller.cpp [mips] MIPSR6 Compact jump support 2016-04-05 12:50:29 +00:00
MipsEVAInstrFormats.td [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
MipsEVAInstrInfo.td [mips] Range check simm9 and fix a bug this revealed. 2016-03-31 13:15:23 +00:00
MipsFastISel.cpp [mips][microMIPS] Disable FastISel for microMIPS 2016-01-28 11:08:03 +00:00
MipsFrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsFrameLowering.h Change eliminateCallFramePseudoInstr() to return an iterator 2016-03-31 18:33:38 +00:00
MipsHazardSchedule.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsISelDAGToDAG.cpp
MipsISelDAGToDAG.h
MipsISelLowering.cpp [mips][atomics] Fix partword atomic binary operation implementation 2016-04-28 16:26:43 +00:00
MipsISelLowering.h CodeGen: extend RHS when splitting ATOMIC_CMP_SWAP_WITH_SUCCESS. 2016-03-24 15:38:38 +00:00
MipsInstrFPU.td [mips][microMIPS] Revert commit r266861. 2016-04-22 16:53:15 +00:00
MipsInstrFormats.td [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
MipsInstrInfo.cpp Fix an assertion that can never fire because the condition ANDed with the string is just true or 1. 2016-04-24 04:38:29 +00:00
MipsInstrInfo.h [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
MipsInstrInfo.td [mips][microMIPS] Add CodeGen support for SUBU16, SUB, SUBU, DSUB and DSUBU instructions 2016-04-27 11:31:44 +00:00
MipsLongBranch.cpp [mips] More range-based for loops. NFC. 2016-04-15 20:43:17 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsMSAInstrFormats.td [mips] Use PredicateControl for the MSA ASE instructions. NFC. 2015-09-24 12:10:23 +00:00
MipsMSAInstrInfo.td [mips] Split mem_msa into range checked mem_simm10 and mem_simm10_lsl[123] 2016-03-31 14:12:01 +00:00
MipsMachineFunction.cpp [mips][microMIPS] Fix for "Cannot copy registers" assertion 2016-04-13 06:17:21 +00:00
MipsMachineFunction.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsModuleISelDAGToDAG.cpp
MipsOptimizePICCall.cpp
MipsOptionRecord.h
MipsOs16.cpp [mips] Use range-based for loops. NFC. 2016-04-08 10:33:00 +00:00
MipsRegisterInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsRegisterInfo.h [mips] Remove unused function declarations from MipsRegisterInfo.h. NFC. 2016-02-28 16:55:28 +00:00
MipsRegisterInfo.td [mips][microMIPS] Fix for "Cannot copy registers" assertion 2016-04-13 06:17:21 +00:00
MipsSEFrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsSEFrameLowering.h Re-apply "[mips] Use correct frame register for DWARF info when dynamically realigning the stack."" 2015-11-12 14:11:43 +00:00
MipsSEISelDAGToDAG.cpp [mips] Use range-based for loops and simplify slightly the code. NFC. 2016-04-15 20:18:48 +00:00
MipsSEISelDAGToDAG.h
MipsSEISelLowering.cpp [Mips] Add support for llvm.thread.pointer intrinsic. 2016-04-27 17:21:49 +00:00
MipsSEISelLowering.h
MipsSEInstrInfo.cpp [mips] Fix a small typo that would leave BLTZC out of getAnalyzableBrOpc().' 2016-04-22 13:05:51 +00:00
MipsSEInstrInfo.h [mips] Interrupt attribute support for mips32r2+. 2015-10-26 12:38:43 +00:00
MipsSERegisterInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsSERegisterInfo.h
MipsSchedule.td [mips] MIPSR6 Instruction itineraries 2016-03-11 13:05:06 +00:00
MipsScheduleP5600.td TableGen: Check scheduling models for completeness 2016-03-01 20:03:21 +00:00
MipsSubtarget.cpp [mips][micromips] Initial support for micrmomips DSP instructions and addu.qb implementation 2015-10-12 16:07:25 +00:00
MipsSubtarget.h Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
MipsTargetMachine.cpp [Mips] Fix -Wunused-private-field warning after r263444. 2016-03-14 18:10:20 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp Unbreak non-X86 targets from fallout caused by r261462 2016-02-21 01:40:04 +00:00
MipsTargetObjectFile.h Unbreak non-X86 targets from fallout caused by r261462 2016-02-21 01:40:04 +00:00
MipsTargetStreamer.h [mips][ias] Stream macro expansions to output instead of buffering them. NFC. 2016-04-18 12:06:15 +00:00