package nir

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. nir
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package serialization

Type Members

  1. sealed abstract class Attr extends AnyRef
  2. final case class Attrs(inlineHint: Inline = MayInline, specialize: Specialize = MaySpecialize, opt: Opt = UnOpt, align: Option[Alignment] = Option.empty, isExtern: Boolean = false, isBlocking: Boolean = false, isDyn: Boolean = false, isStub: Boolean = false, isAbstract: Boolean = false, isVolatile: Boolean = false, isFinal: Boolean = false, isSafePublish: Boolean = false, isLinktimeResolved: Boolean = false, isUsingIntrinsics: Boolean = false, links: Seq[Link] = Seq.empty, preprocessorDefinitions: Seq[Define] = Seq.empty) extends Product with Serializable
  3. sealed abstract class Bin extends AnyRef
  4. sealed abstract class Comp extends AnyRef
  5. sealed abstract class Conv extends AnyRef
  6. sealed abstract class Defn extends Positioned

    A definition in NIR.

    A definition in NIR.

    Programs in NIR are represented as a sequence of definitions denoting types, methods and fields. Definitions fall into two categories:

    • Top-level definitions: these represent classes, modules, traits, or global variables and constants.
    • Member definitions: these represent fields or methods.

    Classes and modules inherit from a single parent with the exception of java.lang.Object, which sits at the top of the hierarchy. They may additionally implement traits.

    Definitions may also carry attributes providing further information about their semantics (e.g., whether a method may be inlined). Attributes are also used to mark special-purpose definitions, such as stubs, proxies and FFIs.

  7. final class Fresh extends AnyRef
  8. sealed abstract class Global extends AnyRef

    The identifier of a type or method (aka a symbol).

  9. sealed abstract class Inst extends Positioned
  10. class InstructionBuilder extends AnyRef

    A class to build sequences of NIR instructions.

  11. sealed trait LinktimeCondition extends AnyRef
  12. final case class Local(id: Long) extends AnyVal with Product with Serializable
  13. type LocalName = String

    The name of a variable in program sources.

  14. type LocalNames = Map[Local, LocalName]

    A map from SSA identifier to its name in program sources.

    A map from SSA identifier to its name in program sources.

    Local variables get lowered to an static assignment that is assigned to a unique identifier in the context of its definition. Instances of this type are used to maintain the correspondance between an SSA ID and its corresponding name in program sources.

  15. sealed abstract class MemoryOrder extends AnyRef

    An atomic memory ordering constraints.

    An atomic memory ordering constraints.

    Atomic instructions take ordering parameters specifying with which other instructions they synchronize.

    See also

    https://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints.

  16. sealed case class NIRSource(directory: Path, path: Path) extends Product with Serializable
  17. sealed abstract class Next extends AnyRef
  18. sealed abstract class Op extends AnyRef
  19. trait Positioned extends AnyRef
  20. final case class ScopeId(id: Int) extends AnyVal with Product with Serializable

    The identifier of a lexical scope.

  21. final class Sig extends AnyRef
  22. sealed trait SourceFile extends AnyRef
  23. final case class SourcePosition(source: SourceFile, line: Int, column: Int, nirSource: NIRSource = NIRSource.None) extends Product with Serializable
  24. trait Transform extends AnyRef
  25. trait Traverse extends AnyRef
  26. sealed abstract class Type extends AnyRef
  27. sealed abstract class Val extends AnyRef

    A NIR value.

Value Members

  1. object Attr
  2. object Attrs extends java.io.Serializable
  3. object Bin
  4. object Comp
  5. object Conv
  6. object Defn
  7. object Fresh
  8. object Global
  9. object Inst
  10. object LinktimeCondition
  11. object Mangle
  12. object MemoryOrder
  13. object NIRSource extends java.io.Serializable
  14. object Next
  15. object Of
  16. object Op
  17. object Positioned
  18. object ScopeId extends java.io.Serializable
  19. object Show
  20. object Sig
  21. object SourceFile
  22. object SourcePosition extends java.io.Serializable
  23. object Type
  24. object Unmangle
  25. object Val
  26. object Versions

Inherited from AnyRef

Inherited from Any

Ungrouped