Clean up the atomic opcodes in SelectionDAG.
authorDan Gohman <gohman@apple.com>
Tue, 23 Dec 2008 21:37:04 +0000 (21:37 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 23 Dec 2008 21:37:04 +0000 (21:37 +0000)
commit0b1d4a798d1dd2f39521b6b381cd1c1911c9ab52
treeb3edf8b330ceaee6b098e99f138410a59887cbc9
parent9cf8ef63c62b0c8865bc4febd45c83e9965b34f2
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
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
include/llvm/Target/TargetLowering.h
include/llvm/Target/TargetSelectionDAG.td
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
lib/Target/X86/X86ISelLowering.cpp