llvm-6502/lib/Target/R600
Mehdi Amini c94da20917 Make DataLayout Non-Optional in the Module
Summary:
DataLayout keeps the string used for its creation.

As a side effect it is no longer needed in the Module.
This is "almost" NFC, the string is no longer
canonicalized, you can't rely on two "equals" DataLayout
having the same string returned by getStringRepresentation().

Get rid of DataLayoutPass: the DataLayout is in the Module

The DataLayout is "per-module", let's enforce this by not
duplicating it more than necessary.
One more step toward non-optionality of the DataLayout in the
module.

Make DataLayout Non-Optional in the Module

Module->getDataLayout() will never returns nullptr anymore.

Reviewers: echristo

Subscribers: resistor, llvm-commits, jholewinski

Differential Revision: http://reviews.llvm.org/D7992

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231270 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-04 18:43:29 +00:00
..
AsmParser
InstPrinter R600/SI: Fix mad*k definitions 2015-02-21 21:29:00 +00:00
MCTargetDesc Reverting r229831 due to multiple ARM/PPC/MIPS build-bot failures. 2015-02-19 11:38:11 +00:00
TargetInfo
AMDGPU.h [PM] Remove a bunch of stale TTI creation method declarations. I nuked 2015-02-01 00:22:15 +00:00
AMDGPU.td R600/SI: Set noNamedPositionallyEncodedOperands 2015-02-18 02:15:32 +00:00
AMDGPUAlwaysInlinePass.cpp
AMDGPUAsmPrinter.cpp Grab the subtarget off of the machine function for the R600 2015-02-19 01:10:53 +00:00
AMDGPUAsmPrinter.h Remove the DisasmEnabled AsmPrinter variable and just look it 2015-02-19 01:10:49 +00:00
AMDGPUCallingConv.td
AMDGPUFrameLowering.cpp
AMDGPUFrameLowering.h
AMDGPUInstrInfo.cpp ArrayRefize memory operand folding. NFC. 2015-02-28 12:04:00 +00:00
AMDGPUInstrInfo.h ArrayRefize memory operand folding. NFC. 2015-02-28 12:04:00 +00:00
AMDGPUInstrInfo.td R600: Use new fmad node. 2015-02-20 22:10:41 +00:00
AMDGPUInstructions.td R600: Use new fmad node. 2015-02-20 22:10:41 +00:00
AMDGPUIntrinsicInfo.cpp
AMDGPUIntrinsicInfo.h
AMDGPUIntrinsics.td R600/SI: Add an intrinsic for S_FLBIT_I32 / V_FFBH_I32 2015-03-04 17:33:45 +00:00
AMDGPUISelDAGToDAG.cpp R600/SI: Add slc, glc, and tfe to non-atomic _ADDR64 instructions 2015-02-27 14:59:41 +00:00
AMDGPUISelLowering.cpp R600/SI: Remove v_sub_f64 pseudo 2015-02-20 22:10:45 +00:00
AMDGPUISelLowering.h R600: Use new fmad node. 2015-02-20 22:10:41 +00:00
AMDGPUMachineFunction.cpp R600: Canonicalize access to function attributes, NFC 2015-02-14 02:45:45 +00:00
AMDGPUMachineFunction.h
AMDGPUMCInstLower.cpp Grab the subtarget off of the machine function for the R600 2015-02-19 01:10:53 +00:00
AMDGPUMCInstLower.h
AMDGPUPromoteAlloca.cpp Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
AMDGPURegisterInfo.cpp
AMDGPURegisterInfo.h
AMDGPURegisterInfo.td
AMDGPUSubtarget.cpp 80-column fixups. 2015-02-19 00:15:33 +00:00
AMDGPUSubtarget.h R600/SI: Disable subreg liveness 2015-02-11 18:24:53 +00:00
AMDGPUTargetMachine.cpp [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
AMDGPUTargetMachine.h R600: Split AMDGPUPassConfig into R600PassConfig and GCNPassConfig 2015-02-11 17:11:51 +00:00
AMDGPUTargetTransformInfo.cpp R600/SI: Fix bug in TTI loop unrolling preferences 2015-02-05 15:32:18 +00:00
AMDGPUTargetTransformInfo.h [multiversion] Remove the function parameter from the unrolling 2015-02-01 14:31:23 +00:00
AMDILCFGStructurizer.cpp
AMDKernelCodeT.h
CaymanInstructions.td R600/SI: Implement correct f64 fdiv 2015-02-14 04:30:08 +00:00
CIInstructions.td Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
CMakeLists.txt
EvergreenInstructions.td R600/SI: Implement correct f64 fdiv 2015-02-14 04:30:08 +00:00
LLVMBuild.txt
Makefile
Processors.td R600/SI: Add subtarget feature for if f32 fma is fast 2015-01-29 19:34:25 +00:00
R600ClauseMergePass.cpp
R600ControlFlowFinalizer.cpp Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
R600Defines.h
R600EmitClauseMarkers.cpp
R600ExpandSpecialInstrs.cpp
R600InstrFormats.td
R600InstrInfo.cpp R600: Use c++11 style for loop 2015-03-02 18:56:52 +00:00
R600InstrInfo.h
R600Instructions.td R600: Use new fmad node. 2015-02-20 22:10:41 +00:00
R600Intrinsics.td
R600ISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
R600ISelLowering.h Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600MachineScheduler.cpp Remove a few more calls to TargetMachine::getSubtarget from the 2015-02-19 01:10:55 +00:00
R600MachineScheduler.h
R600OptimizeVectorRegisters.cpp
R600Packetizer.cpp Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
R600RegisterInfo.cpp
R600RegisterInfo.h
R600RegisterInfo.td
R600Schedule.td
R600TextureIntrinsicsReplacer.cpp
R700Instructions.td Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
SIAnnotateControlFlow.cpp R600/SI: Fix bug from insertion of llvm.SI.end.cf into loop headers 2015-02-05 15:32:15 +00:00
SIDefines.h R600/SI: Also enable WQM for image opcodes which calculate LOD v3 2015-02-06 02:51:20 +00:00
SIFixSGPRCopies.cpp
SIFixSGPRLiveRanges.cpp
SIFoldOperands.cpp R600/SI: Fix asam errors in SIFoldOperands 2015-02-17 20:11:54 +00:00
SIInsertWaits.cpp R600/SI: Fix dependency between instruction writing M0 and S_SENDMSG on VI (v2) 2015-02-03 17:37:52 +00:00
SIInstrFormats.td R600/SI: Fix mad*k definitions 2015-02-21 21:29:00 +00:00
SIInstrInfo.cpp R600/SI: Add an intrinsic for S_FLBIT_I32 / V_FFBH_I32 2015-03-04 17:33:45 +00:00
SIInstrInfo.h R600/SI: Try to use v_madak_f32 2015-02-21 21:29:07 +00:00
SIInstrInfo.td R600/SI: Add missing mubuf instructions 2015-02-27 14:59:46 +00:00
SIInstructions.td R600/SI: Add an intrinsic for S_FLBIT_I32 / V_FFBH_I32 2015-03-04 17:33:45 +00:00
SIIntrinsics.td
SIISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
SIISelLowering.h R600/SI: Remove isel mubuf legalization 2015-02-24 17:59:19 +00:00
SILoadStoreOptimizer.cpp Reuse a bunch of cached subtargets and remove getSubtarget calls 2015-01-30 23:24:40 +00:00
SILowerControlFlow.cpp R600/SI: Don't enable WQM for V_INTERP_* instructions v2 2015-02-06 02:51:25 +00:00
SILowerI1Copies.cpp
SIMachineFunctionInfo.cpp Remove a few more calls to TargetMachine::getSubtarget from the 2015-02-19 01:10:55 +00:00
SIMachineFunctionInfo.h R600/SI: Add subtarget feature to enable VGPR spilling for all shader types 2015-01-20 19:33:04 +00:00
SIPrepareScratchRegs.cpp R600/SI: Fix simple-loop.ll test 2015-01-20 19:33:02 +00:00
SIRegisterInfo.cpp R600/SI: Consistently put soffset before the offset operand for mubuf instructions 2015-02-27 14:59:44 +00:00
SIRegisterInfo.h R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
SIRegisterInfo.td R600/SI: Really fix size of VReg_1 2015-02-14 03:54:32 +00:00
SISchedule.td
SIShrinkInstructions.cpp R600/SI: Allow f64 inline immediates in i64 operands 2015-02-13 19:05:03 +00:00
SITypeRewriter.cpp R600: Canonicalize access to function attributes, NFC 2015-02-14 02:45:45 +00:00
VIInstrFormats.td R600/SI: Rename dst encoding field to be consistent with docs 2015-02-18 02:15:37 +00:00
VIInstructions.td R600/SI: Add VI versions of MUBUF loads and stores 2015-01-27 17:24:58 +00:00