llvm-6502/lib/Target/Mips
Chandler Carruth 283b399377 [Modules] Make Support/Debug.h modular. This requires it to not change
behavior based on other files defining DEBUG_TYPE, which means it cannot
define DEBUG_TYPE at all. This is actually better IMO as it forces folks
to define relevant DEBUG_TYPEs for their files. However, it requires all
files that currently use DEBUG(...) to define a DEBUG_TYPE if they don't
already. I've updated all such files in LLVM and will do the same for
other upstream projects.

This still leaves one important change in how LLVM uses the DEBUG_TYPE
macro going forward: we need to only define the macro *after* header
files have been #include-ed. Previously, this wasn't possible because
Debug.h required the macro to be pre-defined. This commit removes that.
By defining DEBUG_TYPE after the includes two things are fixed:

- Header files that need to provide a DEBUG_TYPE for some inline code
  can do so by defining the macro before their inline code and undef-ing
  it afterward so the macro does not escape.

- We no longer have rampant ODR violations due to including headers with
  different DEBUG_TYPE definitions. This may be mostly an academic
  violation today, but with modules these types of violations are easy
  to check for and potentially very relevant.

Where necessary to suppor headers with DEBUG_TYPE, I have moved the
definitions below the includes in this commit. I plan to move the rest
of the DEBUG_TYPE macros in LLVM in subsequent commits; this one is big
enough.

The comments in Debug.h, which were hilariously out of date already,
have been updated to reflect the recommended practice going forward.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206822 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-21 22:55:11 +00:00
..
AsmParser [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Disassembler [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
InstPrinter
MCTargetDesc [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
TargetInfo
CMakeLists.txt Start pushing changes for Mips Fast-Isel 2014-04-17 22:15:34 +00:00
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td
MicroMipsInstrFPU.td
MicroMipsInstrInfo.td
Mips16FrameLowering.cpp Use FrameSetup on frame instructions for the Mips port. 2014-04-14 22:21:22 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Retire llvm::array_endof in favor of non-member std::end. 2014-04-12 16:15:53 +00:00
Mips16HardFloat.h
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Mips16InstrInfo.h
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Retire llvm::array_endof in favor of non-member std::end. 2014-04-12 16:15:53 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Mips16RegisterInfo.h
Mips64InstrInfo.td Current definition of subtract with immediate instruction aliases uses CodeGenOnly defined instructions and post matcher expansion methods to emit real instructions add with immediate. However, they can directly alias add with immediate instruction and remove unnecessary definitions and code in MipsAsmParser.cpp. This patch makes no change in functionality, just removes unnecessary definitions and code. 2014-04-15 10:14:49 +00:00
Mips.h
Mips.td [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
MipsAsmPrinter.h
MipsCallingConv.td [mips] Correct callee saved list for the N32 ABI and enable test 2014-04-16 10:23:37 +00:00
MipsCodeEmitter.cpp
MipsCondMov.td [mips] Fix more incorrect uses of HasMips64 and isMips64() 2014-04-14 15:44:42 +00:00
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Start pushing changes for Mips Fast-Isel 2014-04-17 22:15:34 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td [mips] Add Octeon cnMips instructions seqi/snei and v3mulu/vmm0/vmulu. 2014-04-04 16:21:59 +00:00
MipsInstrFPU.td Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math 2014-04-09 09:56:43 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h
MipsInstrInfo.td [mips] Use TwoOperandAliasConstraint for shift instructions. 2014-04-16 16:28:59 +00:00
MipsISelDAGToDAG.cpp
MipsISelDAGToDAG.h
MipsISelLowering.cpp Remove some empty statements 2014-04-19 23:56:35 +00:00
MipsISelLowering.h Start pushing changes for Mips Fast-Isel 2014-04-17 22:15:34 +00:00
MipsJITInfo.cpp
MipsJITInfo.h
MipsLongBranch.cpp
MipsMachineFunction.cpp
MipsMachineFunction.h
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td
MipsOptimizePICCall.cpp Break PseudoSourceValue out of the Value hierarchy. It is now the root of its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't). Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead. 2014-04-15 07:22:52 +00:00
MipsOs16.cpp
MipsOs16.h
MipsRegisterInfo.cpp
MipsRegisterInfo.h
MipsRegisterInfo.td
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp Use FrameSetup on frame instructions for the Mips port. 2014-04-14 22:21:22 +00:00
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp
MipsSEInstrInfo.h
MipsSEISelDAGToDAG.cpp
MipsSEISelDAGToDAG.h
MipsSEISelLowering.cpp [mips] Fix more incorrect uses of HasMips64 and isMips64() 2014-04-14 15:44:42 +00:00
MipsSEISelLowering.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
MipsSERegisterInfo.h
MipsSubtarget.cpp [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
MipsSubtarget.h [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
MipsTargetMachine.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
MipsTargetMachine.h [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] Add initial support for NaN2008 in the back-end. 2014-04-16 15:48:55 +00:00
MSA.txt