Warning This document deals with the legacy pass manager. LLVM uses the new pass manager for the optimization pipeline (the codegen pipeline still uses the legacy pass manager), which has its own way of defining passes. For more details, see Writing an LLVM Pass and Using the New Pass Manager. The LLVM Pass Framework is an important part of the LLVM system, because LLVM passes are where most of th
See also my blog Contents Optimization manuals Vector class library Object file converter and disassembler Subroutine library ForwardCom: An open standard instruction set for high performance microprocessors Test programs for measuring clock cycles in C++ and assembly code Floating point exception tracking through NAN propagation CPUID manipulation program Links Optimization manuals This series of
Robert O'Callahan. Christian. Repatriate Kiwi. Hacker. My last post was wrong in the details, so let me show a better example. Rust code: pub extern fn foo(v: &u64, callback: fn()) -> u64 { let mut sum = 0; for _ in 0..100 { sum += *v; callback(); } sum } C++ version here. The inner loop of the Rust version turns into: .LBB0_1: inc ebx call r14 add r12, r15 cmp ebx, 100 jl .LBB0_1 sum is in r12 an
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く