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 Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
CallingConvLower.h Define CallSDNode, an SDNode subclass for use with ISD::CALL. 2008-09-13 01:54:27 +00:00
DAGISelHeader.h Make ISel ignore dead nodes. The DAGCombiner normally eliminates 2008-11-05 22:56:47 +00:00
DwarfWriter.h If we have a function with an unreachable statement such that the ending debug 2008-09-26 00:28:12 +00:00
ELFRelocation.h
FastISel.h Factor out the code for sign-extending/truncating gep indices 2008-12-08 07:57:47 +00:00
FileWriters.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
GCMetadata.h
GCMetadataPrinter.h Use raw_ostream throughout the AsmPrinter. 2008-08-21 00:14:44 +00:00
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 - Rewrite code that update register live interval that's split. 2008-10-29 05:06:14 +00:00
LiveStackAnalysis.h - Rewrite code that update register live interval that's split. 2008-10-29 05:06:14 +00:00
LiveVariables.h Revert the part of r59145 that changed the comment about 2008-11-12 23:24:15 +00:00
MachineBasicBlock.h Const-ify several TargetInstrInfo methods. 2008-10-16 01:49:15 +00:00
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 Update VS projects. 2008-09-20 18:02:18 +00:00
MachineFunctionPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
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 Switch the MachineOperand accessors back to the short names like 2008-10-03 15:45:36 +00:00
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 Add intrinsics for log, log2, log10, exp, exp2. 2008-09-04 00:47:13 +00:00
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