xform

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddPhiCopies

func AddPhiCopies(val *ir.Value) int

func AddReturnMoves

func AddReturnMoves(fn *ir.Func)

func EliminateEmptyBlocks

func EliminateEmptyBlocks(fn *ir.Func)

func PassStrings

func PassStrings() []string

PassStrings returns a slice of all String values of the enum

func ProEpiLogue

func ProEpiLogue(usedRegs reg.Reg, fn *ir.Func)

func SetArch

func SetArch(a Arch)

func Transform

func Transform(pass Pass, fn *ir.Func)

Types

type Arch

type Arch interface {
	XformTags() []Tag
}

type Pass

type Pass int
const (
	Elaboration Pass = iota
	Simplification
	Lowering
	Legalize
	CleanUp
)

func PassString

func PassString(s string) (Pass, error)

PassString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func PassValues

func PassValues() []Pass

PassValues returns all values of the enum

func (Pass) IsAPass

func (i Pass) IsAPass() bool

IsAPass returns "true" if the value is listed in the enum definition. "false" otherwise

func (Pass) String

func (i Pass) String() string

type Tag

type Tag uint8
const (
	Invalid Tag = iota
	HasFramePointer

	NumTags
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL