mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-20 09:30:43 +00:00
b1303d05a8
promoted to legal types without changing the type of the vector. This is following a suggestion from Duncan (http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/019923.html). The transformation that used to be done during type legalization is now postponed to DAG legalization. This allows the BUILD_VECTORs to be optimized and potentially handled specially by target-specific code. It turns out that this is also consistent with an optimization done by the DAG combiner: a BUILD_VECTOR and INSERT_VECTOR_ELT may be combined by replacing one of the BUILD_VECTOR operands with the newly inserted element; but INSERT_VECTOR_ELT allows its scalar operand to be larger than the element type, with any extra high bits being implicitly truncated. The result is a BUILD_VECTOR where one of the operands has a type larger the the vector element type. Any code that operates on BUILD_VECTORs may now need to be aware of the potential type discrepancy between the vector element type and the BUILD_VECTOR operands. This patch updates all of the places that I could find to handle that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68996 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AsmPrinter.h | ||
BreakCriticalMachineEdge.h | ||
CallingConvLower.h | ||
DAGISelHeader.h | ||
DebugLoc.h | ||
DwarfWriter.h | ||
ELFRelocation.h | ||
FastISel.h | ||
FileWriters.h | ||
GCMetadata.h | ||
GCMetadataPrinter.h | ||
GCs.h | ||
GCStrategy.h | ||
IntrinsicLowering.h | ||
LatencyPriorityQueue.h | ||
LinkAllAsmWriterComponents.h | ||
LinkAllCodegenComponents.h | ||
LiveInterval.h | ||
LiveIntervalAnalysis.h | ||
LiveStackAnalysis.h | ||
LiveVariables.h | ||
MachineBasicBlock.h | ||
MachineCodeEmitter.h | ||
MachineConstantPool.h | ||
MachineDominators.h | ||
MachineFrameInfo.h | ||
MachineFunction.h | ||
MachineFunctionPass.h | ||
MachineInstr.h | ||
MachineInstrBuilder.h | ||
MachineJumpTableInfo.h | ||
MachineLocation.h | ||
MachineLoopInfo.h | ||
MachineMemOperand.h | ||
MachineModuleInfo.h | ||
MachineOperand.h | ||
MachinePassRegistry.h | ||
MachineRegisterInfo.h | ||
MachineRelocation.h | ||
MachORelocation.h | ||
Passes.h | ||
PseudoSourceValue.h | ||
RegAllocRegistry.h | ||
RegisterCoalescer.h | ||
RegisterScavenging.h | ||
RuntimeLibcalls.h | ||
ScheduleDAG.h | ||
ScheduleHazardRecognizer.h | ||
SchedulerRegistry.h | ||
SelectionDAG.h | ||
SelectionDAGISel.h | ||
SelectionDAGNodes.h | ||
ValueTypes.h | ||
ValueTypes.td |