mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Remove neverHasSideEffects support from TableGen CodeGenInstruction. Everyone should use hasSideEffects now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222809 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e2fc38a1e5
commit
568f7e8228
@ -123,7 +123,6 @@ this (at the time of this writing):
|
||||
bit hasCtrlDep = 0;
|
||||
bit isNotDuplicable = 0;
|
||||
bit hasSideEffects = 0;
|
||||
bit neverHasSideEffects = 0;
|
||||
InstrItinClass Itinerary = NoItinerary;
|
||||
string Constraints = "";
|
||||
string DisableEncoding = "";
|
||||
|
@ -396,11 +396,7 @@ class Instruction {
|
||||
// hasSideEffects - The instruction has side effects that are not
|
||||
// captured by any operands of the instruction or other flags.
|
||||
//
|
||||
// neverHasSideEffects (deprecated) - Set on an instruction with no pattern
|
||||
// if it has no side effects. This is now equivalent to setting
|
||||
// "hasSideEffects = 0".
|
||||
bit hasSideEffects = ?;
|
||||
bit neverHasSideEffects = 0;
|
||||
|
||||
// Is this instruction a "real" instruction (with a distinct machine
|
||||
// encoding), or is it a pseudo instruction used for codegen modeling
|
||||
|
@ -3111,13 +3111,6 @@ void CodeGenDAGPatterns::InferInstructionFlags() {
|
||||
CodeGenInstruction &InstInfo =
|
||||
const_cast<CodeGenInstruction &>(*Instructions[i]);
|
||||
|
||||
// Treat neverHasSideEffects = 1 as the equivalent of hasSideEffects = 0.
|
||||
// This flag is obsolete and will be removed.
|
||||
if (InstInfo.neverHasSideEffects) {
|
||||
assert(!InstInfo.hasSideEffects);
|
||||
InstInfo.hasSideEffects_Unset = false;
|
||||
}
|
||||
|
||||
// Get the primary instruction pattern.
|
||||
const TreePattern *Pattern = getInstruction(InstInfo.TheDef).getPattern();
|
||||
if (!Pattern) {
|
||||
|
@ -325,7 +325,6 @@ CodeGenInstruction::CodeGenInstruction(Record *R)
|
||||
mayStore_Unset = Unset;
|
||||
hasSideEffects = R->getValueAsBitOrUnset("hasSideEffects", Unset);
|
||||
hasSideEffects_Unset = Unset;
|
||||
neverHasSideEffects = R->getValueAsBit("neverHasSideEffects");
|
||||
|
||||
isAsCheapAsAMove = R->getValueAsBit("isAsCheapAsAMove");
|
||||
hasExtraSrcRegAllocReq = R->getValueAsBit("hasExtraSrcRegAllocReq");
|
||||
@ -335,9 +334,6 @@ CodeGenInstruction::CodeGenInstruction(Record *R)
|
||||
ImplicitDefs = R->getValueAsListOfDefs("Defs");
|
||||
ImplicitUses = R->getValueAsListOfDefs("Uses");
|
||||
|
||||
if (neverHasSideEffects + hasSideEffects > 1)
|
||||
PrintFatalError(R->getName() + ": multiple conflicting side-effect flags set!");
|
||||
|
||||
// Parse Constraints.
|
||||
ParseConstraints(R->getValueAsString("Constraints"), Operands);
|
||||
|
||||
|
@ -247,7 +247,6 @@ namespace llvm {
|
||||
bool isNotDuplicable : 1;
|
||||
bool hasSideEffects : 1;
|
||||
bool hasSideEffects_Unset : 1;
|
||||
bool neverHasSideEffects : 1;
|
||||
bool isAsCheapAsAMove : 1;
|
||||
bool hasExtraSrcRegAllocReq : 1;
|
||||
bool hasExtraDefRegAllocReq : 1;
|
||||
|
Loading…
Reference in New Issue
Block a user