Struct nvvm::NvvmProgram[][src]

pub struct NvvmProgram { /* fields omitted */ }

Implementations

Make a new NVVM program.

Compile this program into PTX assembly bytes (they should be ascii per the PTX ISA ref but they are returned as bytes to be safe).

Add a bitcode module to this nvvm program.

Add a bitcode module lazily to this nvvm program. This means that a symbol in this module is only loaded if it is used by a previous module. According to libnvvm docs, this also makes the symbols internal to the NVVM IR module, allowing for further optimizations.

Do not feed LLVM IR to this method, add_module seems to allow it for now, but it yields an empty ptx file if given to this method

Get the compiler/verifier log message. This includes any errors that may have happened during compilation or during verification as well as any warnings. If you are having trouble with your program yielding a compilation error, looking at this log after attempting compilation should help.

Returns None if the log is empty and automatically strips off the nul at the end of the log.

Verify the program without actually compiling it. In the case of invalid IR, you can find more detailed error info by calling compiler_log.

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.