Skip to content

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::ScopeOps.

Removes trailing scopes.

-vast-hl-ude

Eliminate unused definitions

Removes unused definitions, such as typedefs, structs and functions.