aboutsummaryrefslogtreecommitdiffhomepage
path: root/llvm_kaleidoscope_rs/llvm/index.html
blob: dba253817bcb2ed08510bc84de9cd4e416dfb16c (plain) (blame)
1
2
3
4
5
6
7
8
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Safe wrapper around the LLVM C API."><title>llvm_kaleidoscope_rs::llvm - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-cb6f1f67f1bcd037.css" id="mainThemeStyle"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="llvm_kaleidoscope_rs" data-themes="" data-resource-suffix="" data-rustdoc-version="1.73.0 (cc66ad468 2023-10-03)" data-channel="1.73.0" data-search-js="search-6dfdfced5eff6596.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-1596385f77d47ef2.css" data-theme-dark-css="dark-0a43001d3fc2282c.css" data-theme-ayu-css="ayu-fd19013d6ce078bf.css" ><script src="../../static.files/storage-db41da1a38ea3cb8.js"></script><script defer src="../../static.files/main-0795b7d26be81095.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../static.files/light-1596385f77d47ef2.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../static.files/dark-0a43001d3fc2282c.css"><link rel="stylesheet" href="../../static.files/noscript-cffde32267a19fd6.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../llvm_kaleidoscope_rs/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../../llvm_kaleidoscope_rs/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module llvm</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">llvm_kaleidoscope_rs</a>::<wbr><a class="mod" href="#">llvm</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/llvm_kaleidoscope_rs/llvm/mod.rs.html#1-74">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Safe wrapper around the LLVM C API.</p>
<p>References returned from the LLVM API are tied to the <code>'llvm</code> lifetime which is bound to the
context where the objects are created in.
We do not offer wrappers to remove or delete any objects in the context and therefore all the
references will be valid for the liftime of the context.</p>
<p>For the scope of this tutorial we mainly use assertions to validate the results from the LLVM
API calls.</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BasicBlock.html" title="struct llvm_kaleidoscope_rs::llvm::BasicBlock">BasicBlock</a></div><div class="desc docblock-short">Wrapper for a LLVM Basic Block.</div></li><li><div class="item-name"><a class="struct" href="struct.FnValue.html" title="struct llvm_kaleidoscope_rs::llvm::FnValue">FnValue</a></div><div class="desc docblock-short">Wrapper for a LLVM Value Reference specialized for contexts where function values are needed.</div></li><li><div class="item-name"><a class="struct" href="struct.FunctionPassManager.html" title="struct llvm_kaleidoscope_rs::llvm::FunctionPassManager">FunctionPassManager</a></div><div class="desc docblock-short">Wrapper for a LLVM Function PassManager (legacy).</div></li><li><div class="item-name"><a class="struct" href="struct.IRBuilder.html" title="struct llvm_kaleidoscope_rs::llvm::IRBuilder">IRBuilder</a></div><div class="desc docblock-short">Wrapper for a LLVM IR Builder.</div></li><li><div class="item-name"><a class="struct" href="struct.LLJit.html" title="struct llvm_kaleidoscope_rs::llvm::LLJit">LLJit</a></div><div class="desc docblock-short">Wrapper for a LLVM <a href="https://www.llvm.org/docs/ORCv2.html#lljit-and-lllazyjit">LLJIT</a>.</div></li><li><div class="item-name"><a class="struct" href="struct.Module.html" title="struct llvm_kaleidoscope_rs::llvm::Module">Module</a></div><div class="desc docblock-short">Wrapper for a LLVM Module with its own LLVM Context.</div></li><li><div class="item-name"><a class="struct" href="struct.PhiValue.html" title="struct llvm_kaleidoscope_rs::llvm::PhiValue">PhiValue</a></div><div class="desc docblock-short">Wrapper for a LLVM Value Reference specialized for contexts where phi values are needed.</div></li><li><div class="item-name"><a class="struct" href="struct.ResourceTracker.html" title="struct llvm_kaleidoscope_rs::llvm::ResourceTracker">ResourceTracker</a></div><div class="desc docblock-short">A resource handle for code added to an <a href="struct.LLJit.html" title="struct llvm_kaleidoscope_rs::llvm::LLJit"><code>LLJit</code></a> instance.</div></li><li><div class="item-name"><a class="struct" href="struct.Type.html" title="struct llvm_kaleidoscope_rs::llvm::Type">Type</a></div><div class="desc docblock-short">Wrapper for a LLVM Type Reference.</div></li><li><div class="item-name"><a class="struct" href="struct.Value.html" title="struct llvm_kaleidoscope_rs::llvm::Value">Value</a></div><div class="desc docblock-short">Wrapper for a LLVM Value Reference.</div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.initialize_native_taget.html" title="fn llvm_kaleidoscope_rs::llvm::initialize_native_taget">initialize_native_taget</a></div><div class="desc docblock-short">Initialize native target for corresponding to host (useful for jitting).</div></li><li><div class="item-name"><a class="fn" href="fn.shutdown.html" title="fn llvm_kaleidoscope_rs::llvm::shutdown">shutdown</a></div><div class="desc docblock-short">Deallocate and destroy all “ManagedStatic” variables.</div></li></ul></section></div></main></body></html>