High Level
-vast-export-fn-info
Create JSON that exports information about function arguments.
Lowers module into llvm IR and dumps it on stderr.
Options
-o : Output JSON file to be created.
-vast-hl-dce
Trim dead code
Removes unreachable code, such as code after return or break/continue.
-vast-hl-lower-elaborated-types
Replace hl::ElaboratedType
type by its underlying type.
Replaces hl::ElaboratedType
types by its underlying type.
All hl::ElaboratedType
are marked illegal and converted by this pass.
-vast-hl-lower-enum-decls
Lower high level representation of enums.
Lower enum types to integer types.
Note: This pass requires that all enum references are lowered.
-vast-hl-lower-enum-refs
Lower high level representation of enums.
Lower enum references to integer values.
-vast-hl-lower-typedefs
Replace hl::TypeDef
type by its underlying aliased type.
Replaces hl::TypeDef
types by its underlying aliased types.
The conversion resolves nested typedefs.
All hl::TypeDef
are marked illegal and converted by this pass.
-vast-hl-lower-types
Lower high-level types to standard types
Lower high-level types into standard types which is usually required first step by other passes in the pipeline.
Information about bit sizes of high level types is inferred from the data layout of
the module, which is derived from the information provided by clang and emitted
automatically by vast-cc
.
TODO: Named types are not yet supported.
-vast-hl-splice-trailing-scopes
Remove trailing core::ScopeOp
s.
Removes trailing scopes.
-vast-hl-ude
Eliminate unused definitions
Removes unused definitions, such as typedefs, structs and functions.