llvm-project/llvm/lib/Target/Mips
Chih-Hung Hsieh 9f9e4681ac [TLS] use emulated TLS if the target supports only this mode
Emulated TLS is enabled by llc flag -emulated-tls,
which is passed by clang driver.
When llc is called explicitly or from other drivers like LTO,
missing -emulated-tls flag would generate wrong TLS code for targets
that supports only this mode.
Now use useEmulatedTLS() instead of Options.EmulatedTLS to decide whether
emulated TLS code should be generated.
Unit tests are modified to run with and without the -emulated-tls flag.

Differential Revision: https://reviews.llvm.org/D42999

llvm-svn: 326341
2018-02-28 17:48:55 +00:00
..
AsmParser [NFC] fix trivial typos in comments 2018-02-22 07:48:29 +00:00
Disassembler [mips] Remove duplicated R6 EVA instructions 2018-01-08 16:50:33 +00:00
InstPrinter [llvm] Remove redundant return [NFC] 2017-11-12 03:47:50 +00:00
MCTargetDesc [Mips] Handle one byte unsupported relocations 2018-01-11 10:07:47 +00:00
TargetInfo Add backend name to Target to enable runtime info to be fed back into TableGen 2017-11-15 23:55:44 +00:00
CMakeLists.txt [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
LLVMBuild.txt [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MSA.txt
MicroMips32r6InstrFormats.td [mips] Begin reworking instruction predicates for ISAs/encodings (1/N) 2018-02-28 13:02:44 +00:00
MicroMips32r6InstrInfo.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MicroMipsDSPInstrFormats.td
MicroMipsDSPInstrInfo.td [mips] Enable spilling and reloading of the dsp register set. 2017-10-03 13:45:49 +00:00
MicroMipsInstrFPU.td [mips] Define certain instructions in microMIPS32r3 2018-02-08 09:25:17 +00:00
MicroMipsInstrFormats.td [mips] Define certain instructions in microMIPS32r3 2018-02-08 09:25:17 +00:00
MicroMipsInstrInfo.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MicroMipsSizeReduction.cpp [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
Mips.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
Mips.td [MachineOperand][Target] MachineOperand::isRenamable semantics changes 2018-02-23 18:25:08 +00:00
Mips16FrameLowering.cpp Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
Mips16FrameLowering.h Add "Restored" flag to CalleeSavedInfo 2017-08-10 16:17:32 +00:00
Mips16HardFloat.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
Mips16ISelLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
Mips16InstrInfo.h Teach TargetInstrInfo::getInlineAsmLength to parse .space directives with integer arguments 2017-09-28 09:31:46 +00:00
Mips16InstrInfo.td [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:29 +00:00
Mips16RegisterInfo.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
Mips64InstrInfo.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
Mips64r6InstrInfo.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MipsAnalyzeImmediate.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsAnalyzeImmediate.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsAsmPrinter.cpp [mips] Support 'y' operand code to print exact log2 of the operand 2018-02-07 12:36:39 +00:00
MipsAsmPrinter.h [X86][Mips] Remove unused method declaration from the X86 and Mips AsmPrinters. 2017-12-08 23:30:03 +00:00
MipsCCState.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsCCState.h Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
MipsCallLowering.cpp [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsCallLowering.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsCallingConv.td Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
MipsCondMov.td [mips] Place certain 64 bit FPU instructions in their own decoder namespace 2017-10-05 10:27:37 +00:00
MipsConstantIslandPass.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsDSPInstrFormats.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MipsDSPInstrInfo.td [mips] Provide additional DSP bitconvert patterns 2017-12-13 10:13:35 +00:00
MipsDelaySlotFiller.cpp [NFC] fix trivial typos in comments 2018-01-22 05:54:46 +00:00
MipsEVAInstrFormats.td
MipsEVAInstrInfo.td [mips] Include EVA instructions in Std2MicroMips mapping tables 2018-02-01 12:53:26 +00:00
MipsFastISel.cpp Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
MipsFrameLowering.cpp [mips] Use register scavenging with MSA. 2017-11-02 12:47:22 +00:00
MipsFrameLowering.h Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
MipsHazardSchedule.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsISelDAGToDAG.cpp [SelectionDAGISel] Add a debug print before call to Select. Adjust where blank lines are printed during isel process to make things more sensibly grouped. 2018-01-26 19:34:20 +00:00
MipsISelDAGToDAG.h
MipsISelLowering.cpp [TLS] use emulated TLS if the target supports only this mode 2018-02-28 17:48:55 +00:00
MipsISelLowering.h [MIPS][MSA] Convert vector integer min/max opcodes to use generic implementation 2018-02-17 21:29:45 +00:00
MipsInstrFPU.td [mips] Correct the definition of cvt.d.w 2018-02-20 15:55:17 +00:00
MipsInstrFormats.td [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MipsInstrInfo.cpp [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MipsInstrInfo.h Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
MipsInstrInfo.td [mips] Begin reworking instruction predicates for ISAs/encodings (1/N) 2018-02-28 13:02:44 +00:00
MipsInstructionSelector.cpp [mips] finish removal of unused fields in MipsInstructionSelector 2018-02-23 15:47:05 +00:00
MipsLegalizerInfo.cpp [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsLegalizerInfo.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsLongBranch.cpp [mips] Spectre variant two mitigation for MIPSR2 2018-02-21 00:06:53 +00:00
MipsMCInstLower.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsMCInstLower.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [MIPS][MSA] Convert vector integer min/max opcodes to use generic implementation 2018-02-17 21:29:45 +00:00
MipsMTInstrFormats.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
MipsMTInstrInfo.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
MipsMachineFunction.cpp [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
MipsMachineFunction.h
MipsModuleISelDAGToDAG.cpp [LegacyPassManager] Remove TargetMachine constructors 2017-05-18 17:21:13 +00:00
MipsOptimizePICCall.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
MipsOptionRecord.h
MipsOs16.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
MipsRegisterBankInfo.cpp [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsRegisterBankInfo.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsRegisterInfo.cpp Revert accidental changes that snuck in r324584 2018-02-08 09:31:48 +00:00
MipsRegisterInfo.h [Mips] Return true in enableMultipleCopyHints(). 2018-02-23 08:30:15 +00:00
MipsRegisterInfo.td Trivial commit to force LLVM to run TableGen for Mips target after 2017-12-20 12:45:40 +00:00
MipsSEFrameLowering.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsSEFrameLowering.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsSEISelDAGToDAG.cpp [NFC] fix trivial typos in comments 2018-01-22 05:54:46 +00:00
MipsSEISelDAGToDAG.h Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
MipsSEISelLowering.cpp [MIPS][MSA] Convert vector integer min/max opcodes to use generic implementation 2018-02-17 21:29:45 +00:00
MipsSEISelLowering.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsSEInstrInfo.cpp [mips] Define certain instructions in microMIPS32r3 2018-02-08 09:25:17 +00:00
MipsSEInstrInfo.h [mips] Define certain instructions in microMIPS32r3 2018-02-08 09:25:17 +00:00
MipsSERegisterInfo.cpp [mips] Remove duplicated R6 EVA instructions 2018-01-08 16:50:33 +00:00
MipsSERegisterInfo.h
MipsSchedule.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
MipsScheduleGeneric.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
MipsScheduleP5600.td [mips] Begin reworking instruction predicates for ISAs/encodings (1/N) 2018-02-28 13:02:44 +00:00
MipsSubtarget.cpp [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsSubtarget.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsTargetMachine.cpp [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsTargetMachine.h (Re-landing) Expose a TargetMachine::getTargetTransformInfo function 2017-12-22 18:21:59 +00:00
MipsTargetObjectFile.cpp [MIPS] Don't crash on unsized extern types with -mgpopt 2018-01-26 15:56:14 +00:00
MipsTargetObjectFile.h
MipsTargetStreamer.h Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
Relocation.txt [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00