llvm-6502/include/llvm/CodeGen
Dan Gohman 0b1d4a798d Clean up the atomic opcodes in SelectionDAG.
This removes all the _8, _16, _32, and _64 opcodes and replaces each
group with an unsuffixed opcode. The MemoryVT field of the AtomicSDNode
is now used to carry the size information. In tablegen, the size-specific
opcodes are replaced by size-independent opcodes that utilize the
ability to compose them with predicates.

This shrinks the per-opcode tables and makes the code that handles
atomics much more concise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61389 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-23 21:37:04 +00:00
..
AsmPrinter.h Refactor a bunch of code out of AsmPrinter::EmitGlobalConstant into separate 2008-12-22 21:14:27 +00:00
BreakCriticalMachineEdge.h
CallingConvLower.h
DAGISelHeader.h
DwarfWriter.h
ELFRelocation.h
FastISel.h Factor out the code for sign-extending/truncating gep indices 2008-12-08 07:57:47 +00:00
FileWriters.h
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
LatencyPriorityQueue.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Move the scheduler constructor functions to SchedulerRegistry.h, to 2008-11-24 19:53:21 +00:00
LiveInterval.h LiveInterval::removeKills and isKill don't need 'this' and 2008-12-20 16:44:40 +00:00
LiveIntervalAnalysis.h
LiveStackAnalysis.h
LiveVariables.h Revert the part of r59145 that changed the comment about 2008-11-12 23:24:15 +00:00
MachineBasicBlock.h
MachineCodeEmitter.h Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. 2008-12-10 02:32:19 +00:00
MachineConstantPool.h Replace a #include with a forward-declaration. 2008-12-03 01:53:18 +00:00
MachineDominators.h
MachineFrameInfo.h Extend X86's addFrameReference to add a MachineMemOperand for 2008-12-03 18:11:40 +00:00
MachineFunction.h
MachineFunctionPass.h
MachineInstr.h Drop the reg argument to isRegReDefinedByTwoAddr, which was redundant. 2008-12-05 05:45:42 +00:00
MachineInstrBuilder.h Extend X86's addFrameReference to add a MachineMemOperand for 2008-12-03 18:11:40 +00:00
MachineJumpTableInfo.h
MachineLocation.h
MachineLoopInfo.h
MachineMemOperand.h
MachineModuleInfo.h Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases. 2008-12-17 22:39:29 +00:00
MachineOperand.h Comment MO_FPImmediate and doxygenate surrounding comments. 2008-12-23 18:20:16 +00:00
MachinePassRegistry.h
MachineRegisterInfo.h Move createVirtualRegister out-of-line. 2008-12-08 04:54:11 +00:00
MachineRelocation.h Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. 2008-12-10 02:32:19 +00:00
MachORelocation.h
Passes.h Implement stack protectors as function attributes: "ssp" and "sspreq". 2008-11-13 01:02:14 +00:00
PseudoSourceValue.h Have PseudoSourceValue override Value::dump, so that it works 2008-12-03 21:37:21 +00:00
RegAllocRegistry.h
RegisterCoalescer.h
RegisterScavenging.h Fix RegScavenger::forward() to work on basic blocks containing exactly 2008-12-19 00:45:13 +00:00
RuntimeLibcalls.h
ScheduleDAG.h Rename BuildSchedUnits to BuildSchedGraph, and refactor the 2008-12-23 18:36:58 +00:00
ScheduleDAGInstrs.h Rename BuildSchedUnits to BuildSchedGraph, and refactor the 2008-12-23 18:36:58 +00:00
ScheduleDAGSDNodes.h Rename BuildSchedUnits to BuildSchedGraph, and refactor the 2008-12-23 18:36:58 +00:00
SchedulerRegistry.h Move the scheduler constructor functions to SchedulerRegistry.h, to 2008-11-24 19:53:21 +00:00
SelectionDAG.h Clean up the atomic opcodes in SelectionDAG. 2008-12-23 21:37:04 +00:00
SelectionDAGISel.h On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. 2008-11-27 00:49:46 +00:00
SelectionDAGNodes.h Clean up the atomic opcodes in SelectionDAG. 2008-12-23 21:37:04 +00:00
ValueTypes.h Added support for vector widening. 2008-12-18 20:03:17 +00:00
ValueTypes.td Added support for vector widening. 2008-12-18 20:03:17 +00:00