com.arm.carp.pencil

FunctionCloner

trait FunctionCloner extends Walker

Provides function cloning functionality. It generates a new identical copy of the given function ensuring that no objects are reused between functions.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FunctionCloner
  2. Walker
  3. ExpressionWalker
  4. CommonOps
  5. Assertable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type Annotated[T] = (T, Option[Operation])

    Definition Classes
    ExpressionWalker
  2. type AnnotatedArrayExpression = (ArrayExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  3. type AnnotatedScalarExpression = (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def assert(cond: Boolean, data: Any, message: String): Unit

    Check the condition and calls Assertable.ice if condition is false.

    Check the condition and calls Assertable.ice if condition is false.

    cond

    condition to check

    data

    additional data to include in error message

    message

    error message

    Definition Classes
    Assertable
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def cloneFunction(in: Function, name: String): Function

    Create a copy of the given function with the given name.

    Create a copy of the given function with the given name.

    in

    function to clone

    name

    of the new function

  10. val config: WalkerConfigStorage

    Definition Classes
    FunctionClonerWalker
  11. def doNothing(): Unit

    Default action for leaf processing.

    Default action for leaf processing. Can be overridden to call ICE (to ensure that all processing is implemented by pass).

    Definition Classes
    Walker
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. def getArrayRenames(): HashMap[ArrayVariableDef, ArrayVariableDef]

  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def getCleanBody(in: Option[BlockOperation]): BlockOperation

    Definition Classes
    Walker
  18. def getScalarRenames(): HashMap[ScalarVariableDef, ScalarVariableDef]

  19. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  20. def ice(data: Any, message: String): Nothing

    Report internal compilation error and throw RuntimeException.

    Report internal compilation error and throw RuntimeException.

    data

    additional data to include in error message

    message

    error message

    Definition Classes
    Assertable
  21. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  22. def make(init: Option[Operation]*): Option[Operation]

    Definition Classes
    CommonOps
  23. def makeBlock(init: Option[Operation]*): Option[BlockOperation]

    Definition Classes
    CommonOps
  24. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. def reset(): Unit

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. def toString(): String

    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  33. def walkAccessFunction(in: Option[Function]): Unit

    Definition Classes
    Walker
  34. def walkArrayConstant(in: ArrayConstant): (ArrayExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  35. def walkArrayDeclOperation(in: ArrayDeclOperation): Some[ArrayDeclOperation]

    Definition Classes
    FunctionClonerWalker
  36. def walkArrayExpression(in: ArrayExpression): (ArrayExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  37. def walkArrayIdxExpression(in: ArrayIdxExpression): (ArrayExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  38. def walkArrayStructSubscription(in: ArrayStructSubscription): (ArrayExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  39. def walkArrayType(in: ArrayType): Option[Operation]

    Definition Classes
    Walker
  40. def walkArrayVariable(in: ArrayVariableRef): (ArrayExpression, Option[Operation])

    Definition Classes
    FunctionClonerExpressionWalker
  41. def walkArrayVariableInt(in: ArrayVariable): (ArrayExpression, Option[Operation])

    All raw variables must be eliminated before leaving the front-end.

    All raw variables must be eliminated before leaving the front-end.

    Definition Classes
    ExpressionWalker
  42. def walkAssignment(in: AssignmentOperation): Option[Operation]

    Definition Classes
    Walker
  43. def walkBlock(in: BlockOperation): Option[BlockOperation]

    Definition Classes
    FunctionClonerWalker
  44. def walkBlock(in: Option[BlockOperation]): Option[BlockOperation]

    Definition Classes
    Walker
  45. def walkBreak(in: BreakOperation): Option[Operation]

    Definition Classes
    Walker
  46. def walkCallExpression(in: CallExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  47. def walkCallOp(in: CallOperation): Option[Operation]

    Definition Classes
    Walker
  48. def walkContinue(in: ContinueOperation): Option[Operation]

    Definition Classes
    Walker
  49. def walkConvertExpression(in: ConvertExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  50. def walkExpression(in: Expression): (Expression, Option[Operation])

    Definition Classes
    ExpressionWalker
  51. def walkExpressionProxy(in: Expression): (Expression, Option[Operation])

    Definition Classes
    Walker
  52. def walkFor(in: ForOperation): Option[Operation]

    Definition Classes
    Walker
  53. def walkFunction(f: Function): Option[Function]

    Definition Classes
    Walker
  54. def walkFunctionArgument(in: Variable): Variable

    Definition Classes
    FunctionClonerWalker
  55. def walkFunctionArguments(in: Seq[Variable]): Seq[Variable]

    Definition Classes
    Walker
  56. def walkFunctionBody(in: Option[BlockOperation]): Option[BlockOperation]

    Definition Classes
    Walker
  57. def walkFunctions(in: Traversable[Function]): Traversable[Function]

    Definition Classes
    Walker
  58. def walkGlobalConst(c: Variable): Some[Variable]

    Definition Classes
    Walker
  59. def walkGlobalConsts(in: Seq[Variable]): Seq[Variable]

    Definition Classes
    Walker
  60. def walkGlobalType(t: StructType): Some[StructType]

    Definition Classes
    Walker
  61. def walkGlobalTypes(in: Seq[StructType]): Seq[StructType]

    Definition Classes
    Walker
  62. def walkGuardExpression(in: ScalarExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    Walker
  63. def walkIf(in: IfOperation): Option[Operation]

    Definition Classes
    Walker
  64. def walkIntrinsicCallExpression(in: IntrinsicCallExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  65. def walkIterationVariable(in: ScalarVariableRef): (ScalarVariableRef, Option[Operation])

    Definition Classes
    ExpressionWalker
  66. def walkLValueExpression(in: ScalarExpression with LValue): (ScalarExpression with LValue, Option[Operation])

    Definition Classes
    Walker
  67. def walkOperation(in: Operation): Option[Operation]

    Definition Classes
    FunctionClonerWalker
  68. def walkPENCILOperation(in: Operation with PENCILOperation): Option[Operation]

    Definition Classes
    Walker
  69. def walkProgram(program: Program): Program

    Definition Classes
    Walker
  70. def walkRange(in: Range): (Range, Option[Operation])

    Definition Classes
    Walker
  71. def walkReturn(in: ReturnOperation): Option[Operation]

    Definition Classes
    Walker
  72. def walkScalarBinaryExpression(in: ScalarBinaryExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  73. def walkScalarConstant(in: Constant with ScalarExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  74. def walkScalarExpression(in: ScalarExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  75. def walkScalarExpressionProxy(in: ScalarExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    Walker
  76. def walkScalarIdxExpression(in: ScalarIdxExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  77. def walkScalarStructSubscription(in: ScalarStructSubscription): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  78. def walkScalarTernaryExpression(in: TernaryExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  79. def walkScalarUnaryExpression(in: ScalarUnaryExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  80. def walkScalarVariable(in: ScalarVariableRef): (ScalarExpression, Option[Operation])

    Definition Classes
    FunctionClonerExpressionWalker
  81. def walkScalarVariableInt(in: ScalarVariable): (ScalarExpression, Option[Operation])

    All raw variables must be eliminated before leaving the front-end.

    All raw variables must be eliminated before leaving the front-end.

    Definition Classes
    ExpressionWalker
  82. def walkSizeofExpression(in: SizeofExpression): (ScalarExpression, Option[Operation])

    Definition Classes
    ExpressionWalker
  83. def walkWhile(in: WhileOperation): Option[Operation]

    Definition Classes
    Walker

Inherited from Walker

Inherited from ExpressionWalker

Inherited from CommonOps

Inherited from Assertable

Inherited from AnyRef

Inherited from Any

Ungrouped