Inferno  0.2
Steps Namespace Reference

Steps namespace contains all of inferno's transformation steps. More...

Classes

class  CleanupCompoundExpression
 Find compound statements inside compund statements and flatten. More...
class  CleanupCompoundMulti
 Find compound statements inside compund statements and flatten. More...
class  CleanupCompoundSingle
 Find compound blocks with only a single statement, and flatten. More...
class  CleanupNop
 Get rid of Nops. More...
class  CleanupDuplicateLabels
class  CleanupIneffectualGoto
 Find a goto to a lable just before the label, and remove the goto. More...
class  CleanupIneffectualLabels
 Find a goto to a lable just before the label, and remove the goto. More...
class  CleanupUnusedLabels
class  CleanUpDeadCode
class  ReduceVoidCompoundExpression
class  CleanupUnusedVariables
class  CleanupNestedIf
 Simplify if(x) if(y) z using &&. More...
class  PlaceLabelsInArray
 Put all the labels in an array indexable by an enum. More...
class  LabelTypeToEnum
 Change all types from Labeley to the state enum, and move lmap lookups from && to goto. More...
class  LabelVarsToEnum
 Variable-by-variable, change type from Labeley to the state enum, and move lmap lookups though the variable. More...
class  SwapSubscriptMultiplex
 Find c ? a[i] : a[j] and replace with a[ c ? i : j ]. More...
class  AddStateEnumVar
 Insert state variable as an enum. More...
class  ApplyCombGotoPolicy
class  ApplyYieldGotoPolicy
class  ApplyBottomPolicy
class  ApplyLabelPolicy
 Group all labels at the top by placing state bodies under if. More...
class  ApplyTopPolicy
class  EnsureResetYield
class  DetectSuperLoop
class  InsertInferredYield
class  ForToWhile
class  WhileToDo
class  GenerateImplicitCasts
class  ExplicitiseReturn
class  UseTempForReturnValue
class  ReturnViaTemp
class  AddLinkAddress
class  ParamsViaTemps
class  GenerateStacks
class  MergeFunctions
class  DetectUncombableSwitch
class  MakeAllForUncombable
class  DetectCombableFor
class  MakeAllBreakUncombable
class  DetectCombableBreak
class  IfToIfGoto
class  SwitchToIfGoto
class  DoToIfGoto
class  BreakToGoto
class  LogicalOrToIf
class  LogicalAndToIf
class  MultiplexorToIf
class  ExtractCallParams
class  SlaveTest
class  SplitInstanceDeclarations
class  MoveInstanceDeclarations
class  SplitInstanceDeclarations2
class  GotoAfterWait
 Make sure every SystemC wait is followed by a goto. More...
class  NormaliseConditionalGotos
class  CompactGotos
class  AddGotoBeforeLabel
class  EnsureBootstrap
class  AddStateLabelVar
class  EnsureSuperLoop
class  ShareGotos
class  InsertSwitch
class  SwitchCleanUp
class  InferBreak
class  FixFallthrough
class  MakeFallThroughMachine
class  AddYieldFlag
class  AddInferredYield
class  MoveInitIntoSuperLoop
class  LoopRotation
class  DetectAllSCTypes
class  AutosToModule
class  TempsAndStaticsToModule
class  DeclsToModule
class  ThreadToMethod
class  ExplicitiseReturns

Functions

TreePtr< NodeMakeCheckUncombable (TreePtr< CPPTree::Statement > construct)
 Make a sub-pattern for search that restricts for uncombability.

Detailed Description

Steps namespace contains all of inferno's transformation steps.


Function Documentation

Make a sub-pattern for search that restricts for uncombability.

Insert in search pattern at the base of a construct, which can be a Statement or an Expression, and this step will restrict the search so that it only matches if the construct contains something uncombable, somewhere underneath.

Definition at line 16 of file uncombable.cpp.

Referenced by Steps::BreakToGoto::BreakToGoto(), Steps::DoToIfGoto::DoToIfGoto(), Steps::ExtractCallParams::ExtractCallParams(), Steps::ForToWhile::ForToWhile(), Steps::IfToIfGoto::IfToIfGoto(), Steps::LogicalAndToIf::LogicalAndToIf(), Steps::LogicalOrToIf::LogicalOrToIf(), Steps::MultiplexorToIf::MultiplexorToIf(), Steps::SwitchToIfGoto::SwitchToIfGoto(), and Steps::WhileToDo::WhileToDo().