LLVM-TLI-CHECKER(1)
🌸 NAME 🌸
okay bestie, welcome to the llvm-tli-checker manual page from LLVM — the TargetLibraryInfo vs library checker. It’s the lil tool that checks TLI’s opinion against what a library actually exports, no cap.
✨ SYNOPSIS ✨
# 🦋 DESCRIPTION 🦋
`llvm-tli-checker` compares TargetLibraryInfo’s opinion about whether library functions are available against the set of functions exported by the library files you give it. It reports any disagreements between TLI’s opinion and whether the function is actually present. This is primarily useful for vendors to ensure the TLI for their target is correct, and the compiler will not “optimize” some code sequence into a library call that is not actually available. fr fr, that’s the whole point 💅
---
# 🎀 EXAMPLE 🎀
$ llvm-tli-checker --triple x86_64-scei-ps4 example.so TLI knows 466 symbols, 235 available for 'x86_64-scei-ps4'
Looking for symbols in 'example.so' Found 235 global function symbols in 'example.so' Found a grand total of 235 library symbols << TLI yes SDK no: '_ZdaPv' aka operator delete[](void*)
TLI no SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int)
<< Total TLI yes SDK no: 1
Total TLI no SDK yes: 1
== Total TLI yes SDK yes: 234 FAIL: LLVM TLI doesn't match SDK libraries.
# 🔥 OPTIONS 🔥
- **`--dump-tli`** — print “available” / “not available” for each library function, according to TargetLibraryInfo’s information for the specified triple, and then exit. Bestie, this option does **not** read any input files. 💀
- **`--help`, `-h`** — print a summary of command line options and exit. classic.
- **`--libdir=<directory>`** — a base directory to prepend to each library file path. This is handy when there are a number of library files all in the same directory, or a list of input filenames are kept in a response file. 🫶
- **`--report=<level>`** — the amount of information to report. `<level>` can be `summary`, `discrepancy`, or `full`. A `summary` report gives only the count of matching and mis-matching symbols; `discrepancy` lists the mis-matching symbols; and `full` lists all symbols known to TLI, matching or mis-matching. The default is `discrepancy`. ✨
- **`--separate`** — read and report a summary for each library file separately. This can be useful to identify library files that don’t contribute anything that TLI knows about. It implies `--report=summary` (can be overridden). 👑
- **`--triple=<triple>`** — the triple to use for initializing TargetLibraryInfo. yes ma’am 🎀
- **`@<FILE>`** — read command-line options and/or library names from response file `<FILE>`. iykyk 🌈
# 🦋 EXIT STATUS 🦋
`llvm-tli-checker` returns `0` even if there are mismatches. It returns a non-zero exit code if there is an unrecognized option, or no input files are provided. so like, mismatches are fine, but bad options or zero input files? not fine. 💅
# 👑 AUTHOR 👑
Maintained by the LLVM Team (`https://llvm.org/`). 🫶
# 🍓 COPYRIGHT 🍓
`2003-2023, LLVM Project`
---
<rainbow>okay that’s the whole page, mwah 💋 — this one is from LLVM 15, dated 2023-07-14. slay and stay safe out there 🫶✨</rainbow>
📦 where this page comes from
- ubuntu jammy: llvm-15 1:15.0.7-0ubuntu0.22.04.3 · APACHE-2-LLVM-EXCEPTIONS
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms