llvm-6502/include/llvm/CodeGen
Matt Arsenault 8b6a26ca85 Implement new way of expanding extloads.
Now that the source and destination types can be specified,
allow doing an expansion that doesn't use an EXTLOAD of the
result type. Try to do a legal extload to an intermediate type
and extend that if possible.

This generalizes the special case custom lowering of extloads
R600 has been using to work around this problem.

This also happens to fix a bug that would incorrectly use more
aligned loads than should be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225925 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14 01:35:17 +00:00
..
PBQP [PBQP] Unique allowed-sets for nodes in the PBQP graph and use pairs of these 2014-10-27 17:44:25 +00:00
Analysis.h Allow the use of functions as typeinfo in landingpad clauses 2014-11-14 00:35:50 +00:00
AsmPrinter.h Add the llvm.frameallocate and llvm.recoverframeallocation intrinsics 2015-01-13 00:48:10 +00:00
CalcSpillWeights.h [PBQP] Tweak spill costs and coalescing benefits 2014-11-04 20:51:24 +00:00
CallingConvLower.h Make musttail more robust for vector types on x86 2014-12-22 23:58:37 +00:00
CommandFlags.h Insert random noops to increase security against ROP attacks (llvm) 2015-01-14 01:07:26 +00:00
DAGCombine.h
DFAPacketizer.h Remove the TargetMachine from DFAPacketizer since it was only 2014-10-14 01:03:16 +00:00
DIE.h Make DIE.h a public CodeGen header. 2015-01-05 21:29:41 +00:00
EdgeBundles.h [modules] "Specialize" a function by actually specializing a function template 2014-04-24 18:27:29 +00:00
FastISel.h [StackMaps] Mark in CallLoweringInfo when lowering a patchpoint 2015-01-13 17:48:04 +00:00
ForwardControlFlowIntegrity.h Remove redundant virtual on overriden functions. 2014-11-14 19:06:36 +00:00
FunctionLoweringInfo.h CodeGen: do not attempt to invalidate virtual registers for zero-sized phis. 2014-12-19 20:50:07 +00:00
GCMetadata.h GCStrategy should not own GCFunctionInfo 2014-12-11 01:47:23 +00:00
GCMetadataPrinter.h GCStrategy should not own GCFunctionInfo 2014-12-11 01:47:23 +00:00
GCs.h Introduce an example statepoint GC strategy 2015-01-07 19:07:50 +00:00
GCStrategy.h Introduce an example statepoint GC strategy 2015-01-07 19:07:50 +00:00
IntrinsicLowering.h
ISDOpcodes.h Implement new way of expanding extloads. 2015-01-14 01:35:17 +00:00
JumpInstrTables.h Add Forward Control-Flow Integrity. 2014-11-11 21:08:02 +00:00
LatencyPriorityQueue.h
LexicalScopes.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Introduce an example statepoint GC strategy 2015-01-07 19:07:50 +00:00
LiveInterval.h LiveInterval: Introduce createMainRangeFromSubranges(). 2014-12-24 02:11:51 +00:00
LiveIntervalAnalysis.h LiveIntervalAnalysis: Cleanup computeDeadValues 2014-12-18 19:58:52 +00:00
LiveIntervalUnion.h LiveIntervalUnion: Allow specification of liverange when unifying/extracting. 2014-12-10 01:12:59 +00:00
LivePhysRegs.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
LiveRangeEdit.h Remove unnecessary getTarget call now that the subtarget is cached 2014-09-03 20:36:26 +00:00
LiveRegMatrix.h
LiveStackAnalysis.h
LiveVariables.h CodeGen/LiveVariables: hoist out code in nested loops 2014-08-25 01:59:49 +00:00
MachineBasicBlock.h CodeGen: assert an instruction is being inserted with the correct iterator. 2014-11-14 00:34:59 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCombinerPattern.h MachineCombiner Pass for selecting faster instruction 2014-08-03 21:35:39 +00:00
MachineConstantPool.h CodeGen: Add a getSectionKind method to MachineConstantPoolEntry 2014-07-14 22:06:29 +00:00
MachineDominanceFrontier.h Try to fix MSVC build 2014-07-12 23:09:02 +00:00
MachineDominators.h Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
MachineFrameInfo.h Add the llvm.frameallocate and llvm.recoverframeallocation intrinsics 2015-01-13 00:48:10 +00:00
MachineFunction.h Use a Factory Method for MachineFunctionInfo Creation 2015-01-06 20:05:02 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
MachineInstrBuilder.h Work around bugs in MSVC "14" CTP 3's conversion logic 2014-10-31 23:19:46 +00:00
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h
MachineMemOperand.h AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
MachineModuleInfo.h CodeGen support for x86_64 SEH catch handlers in LLVM 2015-01-14 01:05:27 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Add MachineOperand::ChangeToFPImmediate and setFPImm 2014-09-28 19:24:59 +00:00
MachinePassRegistry.h
MachinePostDominators.h Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
MachineRegionInfo.h Templatify RegionInfo so it works on MachineBasicBlocks 2014-07-19 18:29:29 +00:00
MachineRegisterInfo.h Add a flag to enable/disable subregister liveness. 2014-12-10 01:12:30 +00:00
MachineScheduler.h Cleanup: Delete seemingly unused reference to MachineDominatorTree from ScheduleDAGInstrs. 2014-08-20 20:57:26 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MachineValueType.h [CodeGen] Add MVT::isValid to replace manual validity checks. NFC. 2015-01-07 22:47:46 +00:00
MachORelocation.h
NoopInsertion.h Insert random noops to increase security against ROP attacks (llvm) 2015-01-14 01:07:26 +00:00
Passes.h Insert random noops to increase security against ROP attacks (llvm) 2015-01-14 01:07:26 +00:00
PBQPRAConstraint.h Remove redundant virtual on overriden functions. 2014-11-14 19:06:36 +00:00
PseudoSourceValue.h
RegAllocPBQP.h Fix UBSan bootstrap: don't bind reference to nullptr. 2014-12-23 04:15:47 +00:00
RegAllocRegistry.h
RegisterClassInfo.h
RegisterPressure.h Move remaining LLVM_ENABLE_DUMP conditionals out of the headers 2014-07-01 21:19:13 +00:00
RegisterScavenging.h Changed the liveness tracking in the RegisterScavenger 2014-08-04 23:07:49 +00:00
ResourcePriorityQueue.h
RuntimeLibcalls.h Add minnum / maxnum codegen 2014-10-21 23:01:01 +00:00
ScheduleDAG.h New method SDep::isNormalMemoryOrBarrier() in ScheduleDAGInstrs.cpp. 2015-01-07 13:38:29 +00:00
ScheduleDAGInstrs.h Cleanup: Delete seemingly unused reference to MachineDominatorTree from ScheduleDAGInstrs. 2014-08-20 20:57:26 +00:00
ScheduleDFS.h Move remaining LLVM_ENABLE_DUMP conditionals out of the headers 2014-07-01 21:19:13 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
SelectionDAGISel.h Cache TargetLowering on SelectionDAGISel and update previous 2014-10-08 07:32:17 +00:00
SelectionDAGNodes.h Add isNegative helper to ConstantFPSDNode 2015-01-06 23:00:44 +00:00
SlotIndexes.h
StackMapLivenessAnalysis.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
StackMaps.h [Statepoints 2/4] Statepoint infrastructure for garbage collection: MI & x86-64 Backend 2014-12-01 22:52:56 +00:00
StackProtector.h
TargetLoweringObjectFileImpl.h Recommit r224935 with a fix for the ObjC++/AArch64 bug that that revision 2015-01-09 18:55:42 +00:00
TargetSchedule.h Change MCSchedModel to be a struct of statically initialized data. 2014-09-02 17:43:54 +00:00
ValueTypes.h
ValueTypes.td
VirtRegMap.h