[llvm] r222809 - Remove neverHasSideEffects support from TableGen CodeGenInstruction. Everyone should use hasSideEffects now.
Craig Topper
craig.topper at gmail.com
Tue Nov 25 20:11:15 PST 2014
Author: ctopper
Date: Tue Nov 25 22:11:14 2014
New Revision: 222809
URL: http://llvm.org/viewvc/llvm-project?rev=222809&view=rev
Log:
Remove neverHasSideEffects support from TableGen CodeGenInstruction. Everyone should use hasSideEffects now.
Modified:
llvm/trunk/docs/TableGen/index.rst
llvm/trunk/include/llvm/Target/Target.td
llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/trunk/utils/TableGen/CodeGenInstruction.cpp
llvm/trunk/utils/TableGen/CodeGenInstruction.h
Modified: llvm/trunk/docs/TableGen/index.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/TableGen/index.rst?rev=222809&r1=222808&r2=222809&view=diff
==============================================================================
--- llvm/trunk/docs/TableGen/index.rst (original)
+++ llvm/trunk/docs/TableGen/index.rst Tue Nov 25 22:11:14 2014
@@ -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 = "";
Modified: llvm/trunk/include/llvm/Target/Target.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/Target.td?rev=222809&r1=222808&r2=222809&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/Target.td (original)
+++ llvm/trunk/include/llvm/Target/Target.td Tue Nov 25 22:11:14 2014
@@ -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
Modified: llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp?rev=222809&r1=222808&r2=222809&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp Tue Nov 25 22:11:14 2014
@@ -3111,13 +3111,6 @@ void CodeGenDAGPatterns::InferInstructio
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) {
Modified: llvm/trunk/utils/TableGen/CodeGenInstruction.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenInstruction.cpp?rev=222809&r1=222808&r2=222809&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenInstruction.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenInstruction.cpp Tue Nov 25 22:11:14 2014
@@ -325,7 +325,6 @@ CodeGenInstruction::CodeGenInstruction(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(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);
Modified: llvm/trunk/utils/TableGen/CodeGenInstruction.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenInstruction.h?rev=222809&r1=222808&r2=222809&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenInstruction.h (original)
+++ llvm/trunk/utils/TableGen/CodeGenInstruction.h Tue Nov 25 22:11:14 2014
@@ -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;
More information about the llvm-commits
mailing list