aboutsummaryrefslogtreecommitdiff
path: root/llvm/docs/CommandGuide
AgeCommit message (Collapse)AuthorFilesLines
2026-02-10[llubi] Add initial support for llubi (#180022)Yingwei Zheng2-0/+80
This patch implements the initial support for upstreaming [llubi](https://github.com/dtcxzyw/llvm-ub-aware-interpreter). It only provides the minimal functionality to run a simple main function. I hope we can focus on the interface design in this PR, rather than trivial implementations for each instruction. RFC link: https://discourse.llvm.org/t/rfc-upstreaming-llvm-ub-aware-interpreter/89645 Excluding the driver `llubi.cpp`, this patch contains three components for better decoupling: + `Value.h/cpp`: Value representation + `Context.h/cpp`: Global state management (e.g., memory) and interpreter configuration + `Interpreter.cpp`: The main interpreter loop Compared to the out-of-tree version, the major differences are listed below: + The interpreter logic always returns the control to its caller, i.e., it never calls `exit/abort` when immediate UBs are triggered. + `EventHandler` provides an interface to dump the trace. It also allows callers to inspect the actual value and verify the correctness of analysis passes (e.g, KnownBits/SCEV). + The context is designed to be reentrant. That is, you can call `runFunction` multiple times. But its usefulness remains in doubt due to side effects made by previous calls. + `runFunction` handles function calls with a loop, instead of calling itself recursively. This makes it no longer bounded by the stack depth. + Uninitialized memory is planned to be approximated by returning random values each time an uninitialized byte is loaded.
2026-02-06[objcopy][Wasm] Make strip-all remove all non-engine-interpreted sections ↵Derek Schuff2-2/+8
(#180246) Currently the default strip-all behavior is to remove sections known to LLVM but leave others. Now that the standard specifies the section name "metadata.code.*" as used for compiler annotations interpreted by Wasm engines, we can more confidently give strip its more conventional behavior of removing everything that won't be used by the engine.
2026-02-06[NFC][llvm][docs] Fix alphabetical order of commands (#178519)Prabhu Rajasekaran2-47/+41
Fix the order of commands for llvm-readelf and llvm-readobj docs.
2026-01-28[FileCheck] Allow -check-prefix to take multiple prefixes (#178187)Jay Foad1-12/+11
There was no real benefit to disallowing this, and it sometimes caused unnecessary churn in the RUN lines of tests which were updated from single-to-multiple or multiple-to-single prefixes. This effectively makes -check-prefixes the primary option and -check-prefix just an alias of it. The documentation is upated accordingly.
2026-01-27[llvm-cov] Introduce `-include-filename-regex` (#175779)Lucas Chollet1-0/+4
This allows to filter the source directory so the coverage outputs only includes the files matching the regex.
2026-01-23[RISCV][llvm-objdump] Support --symbolize-operands (#166656)Sam Elliott1-1/+1
This adds support for `--symbolize-operands`, so that local references are turned back into labels by objdump, which makes it easier to tell what is going on with a linked object. When using `--symbolize-operands`, branch target addresses are not printed, only the referenced symbol is printed, and the address is elided: ``` # Without --symbolize-operands 0: 04a05263 blez a0, 0x44 <.text+0x44> ... 40: fd1ff06f j 0x10 <.text+0x10> 44: 00000613 li a2, 0x0 # With --symbolize-operands 0: 04a05263 blez a0, <L3> ... 40: fd1ff06f j <L0> <L3>: 44: 00000613 li a2, 0x0 ```
2026-01-21[llvm-dwarfdump][LineCov 1/3] Add variable coverage metrics (#176725)unexpectedlydefined1-0/+39
Patch 1 of 3 to add to llvm-dwarfdump the ability to measure DWARF coverage of local variables in terms of source lines, as discussed in [this RFC](https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266). This patch adds the basic variable coverage implementation. By default, inlined instances are shown separately (displaying the full inlining chain). Alternatively, a combined view that averages across all inlined instances can be returned using `--combine-instances`. In this patch, we simply print a count of source lines over which each variable is covered. Later patches in the series will add the comparison against a baseline. Example output: ``` $ llvm-dwarfdump --show-variable-coverage somefile Variable coverage statistics: Function InlChain Variable Decl LinesCovered foo bar path/to/somefile.h:54 3 foo path/to/someotherfile.c:32 bar path/to/somefile.h:54 2 foo baz main.c:76 9 ``` ``` $ llvm-dwarfdump --show-variable-coverage somefile --combine-instances Variable coverage statistics: Function InstanceCount Variable Decl LinesCovered foo 2 bar path/to/somefile.h:54 2.5 foo 1 baz main.c:76 9 ``` This reapplies #169646, fixing some ambiguous overloads that caused several bots to fail.
2026-01-16Revert "[llvm-dwarfdump][LineCov 1/3] Add variable coverage metrics" (#176358)Jan Patrick Lehr1-39/+0
Reverts llvm/llvm-project#169646 Many buildbot errors
2026-01-16[llvm-dwarfdump][LineCov 1/3] Add variable coverage metrics (#169646)unexpectedlydefined1-0/+39
Patch 1 of 3 to add to llvm-dwarfdump the ability to measure DWARF coverage of local variables in terms of source lines, as discussed in this RFC: https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266) This patch adds the basic variable coverage implementation. By default, inlined instances are shown separately (displaying the full inlining chain). Alternatively, a combined view that averages across all inlined instances can be returned using `--combine-instances`. In this patch, we simply print a count of source lines over which each variable is covered. Later patches in the series will add the comparison against a baseline.
2026-01-16[NFC][llvm][docs] Fix alphabetical order of commands (#176280)Prabhu Rajasekaran2-22/+22
Fix the order of commands for llvm-readelf and llvm-readobj docs.
2026-01-15Revert "[llvm-readobj] Dump callgraph section info for ELF" (#176221)Prabhu Rajasekaran2-37/+21
Reverts llvm/llvm-project#157499 Following up on discourse post. Reverting this patch and will attempt a reland addressing post merge comments.
2026-01-08[llvm-readobj] Dump callgraph section info for ELF (#157499)Prabhu Rajasekaran2-21/+37
Introduce a new flag `--call-graph-info` which outputs callgraph ELF section information to the console as a text output or as JSON output.
2025-12-15[llvm-symbolizer] Recognize and symbolize archive members (#150401)Midhunesh1-4/+14
This PR adds support for selecting specific archive members in llvm-symbolizer using the `archive.a(member.o)` syntax, with architecture-aware member selection. **Key features:** 1. **Archive member selection syntax**: Specify archive members using `archive.a(member.o)` format 2. **Architecture selection via `--default-arch` flag**: Select the appropriate member when multiple members have the same name but different architectures 3. **Architecture selection via `:arch` suffix**: Alternative syntax `archive.a(member.o):arch` for specifying architecture This functionality is primarily designed for AIX big archives, which can contain multiple members with the same name but different architectures (32-bit and 64-bit). However, the implementation works with all archive formats (GNU, BSD, Darwin, big archive) and handles same-named members created with llvm-ar q. --------- Co-authored-by: Midhunesh <midhuensh.p@ibm.com>
2025-12-12Reapply "[llvm][lit] Add option to run only the failed tests" (#171588)Michael Buch1-0/+5
This reverts commit 3847648e84d2ff5194f605a8a9a5c0a5e5174939. Relands https://github.com/llvm/llvm-project/pull/158043 which got auto-merged on a revision which wasn't approved. The only addition to the approved version was that we adjust how we set the time for failed tests. We used to just assign it the negative value of the elapsed time. But if the test failed with `0` seconds (which some of the new tests do), we would mark it `-0`. But the check for whether something failed checks for `time < 0`. That messed with the new `--filter-failed` option of this PR. This was only an issue on Windows CI, but presumably can happen on any platform. Happy to do this in a separate PR. ---- Original PR This patch adds a new --filter-failed option to llvm-lit, which when set, will only run the tests that have previously failed.
2025-12-10Revert "[llvm][lit] Add option to run only the failed tests" (#171582)Michael Buch1-5/+0
Reverts llvm/llvm-project#158043 This was approved for earlier revisions but the tests were failing on Windows. I pushed a speculative fix and that fixed the CI, which caused auto-merge to merge the PR. But I'd like to have approval for the latest revision. So reverting for now and resubmitting a new PR
2025-12-10[llvm][lit] Add option to run only the failed tests (#158043)Michael Buch1-0/+5
This patch adds a new `--filter-failed` option to `llvm-lit`, which when set, will only run the tests that have previously failed.
2025-11-14[docs] Fix invalid header length in llvm-ir2vec.rst (#168104)Keith Smiley1-1/+1
This also improves the error message to be more clear for folks who haven't used a lot of rst.
2025-11-14[docs] Fix llvm-strip -T flag section (#167987)Keith Smiley1-0/+7
This was previously under the ELF specific options section, but is actually only supported for Mach-O
2025-11-13[opt] Add --save-stats option (#167304)Tomer Shafir1-0/+6
This patch adds a Clang-compatible --save-stats option to opt, to provide an easy to use way to save LLVM statistics files when working with opt on the middle end. This is a follow up on the addition to `llc`: https://github.com/llvm/llvm-project/pull/163967 Like on Clang, one can specify --save-stats, --save-stats=cwd, and --save-stats=obj with the same semantics and JSON format. The pre-existing --stats option is not affected. The implementation extracts the flag and its methods into the common `CodeGen/CommandFlags` as `LLVM_ABI`, using a new registration class to conservatively enable opt-in rather than let all tools take it. Its only needed for llc and opt for now. Then it refactors llc and adds support for opt.
2025-11-09[tools][llc] Add `--save-stats` option (#163967)Tomer Shafir1-0/+6
This patch adds a Clang-compatible `--save-stats` option, to provide an easy to use way to save LLVM statistics files when working with llc on the backend. Like on Clang, one can specify `--save-stats`, `--save-stats=cwd`, and `--save-stats=obj` with the same semantics and JSON format. The implementation uses 2 methods `MaybeEnableStats` and `MaybeSaveStats` called before and after `compileModule` respectively that externally own the statistics related logic, while `compileModule` is now required to return the resolved output filename via an output param. Note: like on Clang, the pre-existing `--stats` option is not affected.
2025-11-04[llvm][dwarfdump] Add --child-tags option to filter by DWARF tags (#165720)Michael Buch1-0/+9
This patch adds a new option `--child-tags` (`-t` for short), which makes dwarfdump only dump children whose DWARF tag is in the list of tags specified by the user. Motivating examples are: * dumping all global variables in a CU * dumping all non-static data members of a structure * dumping all module import declarations of a CU * etc. For tags not known to dwarfdump, we pretend that the tag wasn't specified. Note, this flag only takes effect when `--show-children` is set (either explicitly or implicitly). We error out when trying to use the flag without dumping children. Example: ``` $ builds/release/bin/llvm-dwarfdump -t DW_TAG_structure_type a.out.dSYM ... 0x0000000c: DW_TAG_compile_unit DW_AT_producer ("clang version 22.0.0git (git@github.com:Michael137/llvm-project.git 737da3347c2fb01dd403420cf83e9b8fbea32618)") DW_AT_language (DW_LANG_C11) ... 0x0000002a: DW_TAG_structure_type DW_AT_APPLE_block (true) DW_AT_byte_size (0x20) 0x00000067: DW_TAG_structure_type DW_AT_APPLE_block (true) DW_AT_name ("__block_descriptor") DW_AT_byte_size (0x10) ... ``` ``` $ builds/release/bin/llvm-dwarfdump -t DW_TAG_structure_type -t DW_TAG_member a.out.dSYM ... 0x0000000c: DW_TAG_compile_unit DW_AT_producer ("clang version 22.0.0git (git@github.com:Michael137/llvm-project.git 737da3347c2fb01dd403420cf83e9b8fbea32618)") DW_AT_language (DW_LANG_C11) DW_AT_name ("macro.c") ... 0x0000002a: DW_TAG_structure_type DW_AT_APPLE_block (true) DW_AT_byte_size (0x20) 0x0000002c: DW_TAG_member DW_AT_name ("__isa") DW_AT_type (0x00000051 "void *") DW_AT_data_member_location (0x00) 0x00000033: DW_TAG_member DW_AT_name ("__flags") DW_AT_type (0x00000052 "int") DW_AT_data_member_location (0x08) 0x0000003a: DW_TAG_member DW_AT_name ("__reserved") DW_AT_type (0x00000052 "int") DW_AT_data_member_location (0x0c) 0x00000041: DW_TAG_member DW_AT_name ("__FuncPtr") DW_AT_type (0x00000056 "void (*)(int)") DW_AT_data_member_location (0x10) 0x00000048: DW_TAG_member DW_AT_name ("__descriptor") DW_AT_type (0x00000062 "__block_descriptor *") DW_AT_alignment (8) DW_AT_data_member_location (0x18) 0x00000067: DW_TAG_structure_type DW_AT_APPLE_block (true) DW_AT_name ("__block_descriptor") DW_AT_byte_size (0x10) 0x0000006a: DW_TAG_member DW_AT_name ("reserved") DW_AT_type (0x00000079 "unsigned long") DW_AT_data_member_location (0x00) 0x00000071: DW_TAG_member DW_AT_name ("Size") DW_AT_type (0x00000079 "unsigned long") DW_AT_data_member_location (0x08) ... ```
2025-11-03[dsymutil] Add option to copy swiftmodules built from interface (#165293)Roy Shi1-0/+8
The default behavior is to _not_ copy such swiftmodules into the dSYM, as perviously implemented in 96f95c9d89d8a1784d3865fa941fb1c510f4e2d7. This patch adds the option to override the behavior, so that such swiftmodules can be copied into the dSYM. This is useful when the dSYM will be used on a machine which has a different Xcode/SDK than where the swiftmodules were built. Without this, when LLDB is asked to "p/po" a Swift variable, the underlying Swift compiler code would rebuild the dependent `.swiftmodule` files of the Swift stdlibs, which takes ~1 minute in some cases. See PR for tests.
2025-11-01[llvm-config] Sort options and update documentation. NFC.Alexandre Ganea1-0/+5
This is a follow-up for https://github.com/llvm/llvm-project/pull/103397
2025-10-30[llvm-cxxfilt] update docs to reflect #106233 (#165709)Mads Marquart1-3/+2
It looks like the documentation for `llvm-cxxfilt`'s `--[no-]strip-underscore` options weren't updated when https://github.com/llvm/llvm-project/pull/106233 was made. CC @Michael137 (I don't have merge rights myself).
2025-10-24[llvm][docs] Correct description of %t lit substitution (#164397)David Spickett1-1/+1
%t is currently documented as: temporary file name unique to the test https://llvm.org/docs/CommandGuide/lit.html#substitutions Which I take to mean if the path is a/b/c/tempfile, then %t would be tempfile. It is not, it's the whole path. (which is hinted at by %basename_t, but why would you read that if you didn't need to use it) As seen in #164396 this can create confusion when people use it as if it were just the file name. Make it clear in the docs that this is a unique path, which can be used to make files or folders.
2025-10-23[llvm-ir2vec][MIR2Vec] Supporting MIR mode in triplet and entity generation ↵S. VenkataKeerthy1-19/+69
(#164329) Add support for Machine IR (MIR) triplet and entity generation in llvm-ir2vec. This change extends llvm-ir2vec to support Machine IR (MIR) in addition to LLVM IR, enabling the generation of training data for MIR2Vec embeddings. MIR2Vec provides machine-level code embeddings that capture target-specific instruction semantics, complementing the target-independent IR2Vec embeddings. - Extended llvm-ir2vec to support triplet and entity generation for Machine IR (MIR) - Added `--mode=mir` option to specify MIR mode (vs LLVM IR mode) - Implemented MIR triplet generation with Next and Arg relationships - Added entity mapping generation for MIR vocabulary - Updated documentation to explain MIR-specific features and usage (Partially addresses #162200 ; Tracking issue - #141817)
2025-10-22[MIR2Vec][llvm-ir2vec] Add MIR2Vec support to llvm-ir2vec tool (#164025)S. VenkataKeerthy1-19/+76
Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality. (This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
2025-10-22[doc] Remove unsafe-fp-math references (#164579)paperchalice2-12/+0
Stop mentioning `unsafe-fp-math` related things in documents.
2025-10-21[llvm][dwarfdump][docs] Mention DW_AT_linkage_name in --name doc (#164433)Michael Buch1-1/+1
The `llvm-dwarfdump --name=<name>` option accepts `DW_AT_linkage_name` names too.
2025-10-20[LLVM][Docs] Remove Stray %T SubstitutionAiden Grossman1-1/+0
This were all removed in #160028, but I apparently missed this one instance in the documentation. Remove it given that it no longer works.
2025-10-17[dsymutil] Remove old --minimize option from docs (#164027)Keith Smiley1-8/+0
This option was removed in 5d07dc897707f877c45cab6c7e4b65dad7d3ff6d
2025-10-07[Offload] Rename and move 'clang-offload-packager' -> 'llvm-offload-binary' ↵Joseph Huber2-0/+186
(#161438) Summary: This tool is pretty much a generic interface into creating and managing the offloading binary format. The binary format itself is just a fat binary block used to create heterogeneous objects. This should be made more general than just `clang` since it's likely going to be used for larger offloading projects and is the expected way to extract heterogeneous objects from offloading code. Relatively straightforward rename, a few tweaks and documentation changes. Kept in `clang-offload-packager` for legacy compatibility as we looked this tool up by name in places, will probably delete it next release.
2025-09-29Add --offoading option to llvm-readobj (#143342)David Salinas2-0/+8
Utilize new extensions to LLVM Offloading API to handle offloading fatbin Bundles. The tool will output a list of available offload bundles using URI syntax. --------- Co-authored-by: dsalinas_amdeng <david.salinas@amd.com>
2025-09-29[llvm-size] Add --exclude-pagezero option for Mach-O to exclude __PAGEZERO ↵Ryan Mansfield1-0/+7
size. (#159574) Do not include the ``__PAGEZERO`` segment when calculating size information for Mach-O files when `--exclude-pagezero` is used. The ``__PAGEZERO`` segment is a virtual memory region used for memory protection that does not contribute to actual size, and excluding can provide a better representation of actual size. Fixes #86644
2025-09-26[lit] Remove support for %TAiden Grossman1-6/+0
This patch removes support for %T from llvm-lit. For now we mark the test unresolved and add an error message noting the substitution is deprecated. This is exactly the same as the error handling for other substitution failures. We intend to remove support for the nice error message once 22 branches as users should have moved over by the they are upgrading to v23. Reviewers: petrhosek, jh7370, ilovepi, pogo59, cmtice Reviewed By: cmtice, jh7370, ilovepi Pull Request: https://github.com/llvm/llvm-project/pull/160028
2025-09-19[MCA] Enable customization of individual instructions (#155420)Roman Belenov1-0/+14
Currently MCA takes instruction properties from scheduling model. However, some instructions may execute differently depending on external factors - for example, latency of memory instructions may vary differently depending on whether the load comes from L1 cache, L2 or DRAM. While MCA as a static analysis tool cannot model such differences (and currently takes some static decision, e.g. all memory ops are treated as L1 accesses), it makes sense to allow manual modification of instruction properties to model different behavior (e.g. sensitivity of code performance to cache misses in particular load instruction). This patch addresses this need. The library modification is intentionally generic - arbitrary modifications to InstrDesc are allowed. The tool support is currently limited to changing instruction latencies (single number applies to all output arguments and MaxLatency) via coments in the input assembler code; the format is the like this: add (%eax), eax // LLVM-MCA-LATENCY:100 Users of MCA library can already make additional customizations; command line tool can be extended in the future. Note that InstructionView currently shows per-instruction information according to scheduling model and is not affected by this change. See https://github.com/llvm/llvm-project/issues/133429 for additional clarifications (including explanation why existing customization mechanisms do not provide required functionality) --------- Co-authored-by: Min-Yih Hsu <min@myhsu.dev>
2025-09-19[lit] Add readfile substitutionAiden Grossman1-0/+1
This patch adds a new %{readfile:<file name>} substitution to lit. This is needed for porting a couple of tests to lit's internal shell. These tests are all using subshells to pass some option to a command are not feasible to run within the internal shell without this functionality. Reviewers: petrhosek, jh7370, ilovepi, cmtice Reviewed By: jh7370, cmtice Pull Request: https://github.com/llvm/llvm-project/pull/158441
2025-09-19[llvm-debuginfo-analyzer] Add `--output-sort=(none|id)` option (#145761)Javier Lopez-Gomez1-0/+2
- The output for `--output-sort=id` matches `--output-sort=offset` for the available readers. Tests were updated accordingly. - For `--output-sort=none`, and per `LVReader::sortScopes()`, `LVScope::sort()` is called on the root scope. `LVScope::sort()` has no effect if `getSortFunction() == nullptr`, and thus the elements are currently traversed in the order in which they were initially added. This should change, however, after `LVScope::Children` is removed.
2025-09-09[DirectX] Add `extract-section` to `llvm-objcopy` and implement it for ↵Finn Plummer1-0/+9
`DXContainer` (#154804) This pr adds the `extract-section` option to `llvm-objcopy` as a common option. It differs from `dump-section` as it will produce a standalone object with just one section, as opposed to just the section contents. For more context as to other options considered, see https://github.com/llvm/llvm-project/pull/153265#issuecomment-3195696003. This difference in behaviour is used for DXC compatibility with `extract-rootsignature` and `/Frs`. This pr then implements this functionality for `DXContainer` objects. This is the second step of https://github.com/llvm/llvm-project/issues/150277 to implement as a compiler action that invokes `llvm-objcopy` for functionality. This also completes the implementation of `extract-rootsignature` as described in https://github.com/llvm/llvm-project/issues/149560.
2025-08-28[IR2Vec][llvm-ir2vec] Supporting flow-aware embeddings (#153087)S. VenkataKeerthy1-2/+14
Add flow-aware embedding support to llvm-ir2vec tool alongside the existing symbolic embeddings. (Tracking issues - #141817, #141838)
2025-08-18Reland "[Utils] Add new --update-tests flag to llvm-lit" (#153821)Henrik G. Olsson1-0/+5
This reverts commit https://github.com/llvm/llvm-project/commit/e495231238b86ae2a3c7bb5f94634c19ca2af19a to reland the --update-tests feature, originally landed in https://github.com/llvm/llvm-project/pull/108425.
2025-08-02[IR2Vec][llvm-ir2vec] Changing clEnumValN to cl::SubCommand (#151384)S. VenkataKeerthy1-58/+62
Refactor llvm-ir2vec to use subcommands instead of a mode flag for better CLI usability. - Converted the `--mode` flag to three distinct subcommands: `triplets`, `entities`, and `embeddings` - Updated documentation, tests, and python script
2025-08-01[llvm] Proofread *.rst (#151087)Kazu Hirata8-15/+15
This patch hyphenates words that are used as adjecives, such as: - architecture specific - human readable - implementation defined - language independent - language specific - machine readable - machine specific - target independent - target specific
2025-08-01[Docs] Update Opt's Option to Specify Pass Pipeline (NFC) (#148402)veera1-5/+5
Since the new pass manager, we use `--passes=<string>` to specify the pass pipeline instead of the `-{passname}` syntax.
2025-07-31[lit] Optionally exclude xfail tests (#151191)Mircea Trofin1-0/+5
See the related issue. We want to set up a build bot where `opt` runs with `-enable-profcheck`, which inserts `MD_prof` before running the rest of the pipeline requested from `opt`, and then validates resulting profile information (more info in the RFC linked by the aforementioned issue) In that setup, we will also ignore `FileCheck`: while the profile info inserted is, currently, equivalent to the profile info a pass would observe via `BranchProbabilityInfo`/`BlockFrequencyInfo`, (1) we may want to change that, and (2) some tests are quite sensitive to the output IR, and break if, for instance, extra metadata is present (which it would be due to `-enable-profcheck`). Since we're just interested in profile consistency on the upcoming bot, ignoring `FileCheck` is simpler and sufficient. However, this has the effect of passing XFAIL tests. Rather than listing them all, the alternative is to just exclude XFAIL tests. This PR adds support for that by introducing a `--exclude-xfail` option to `llvm-lit`. Issue #147390
2025-07-30[IR2Vec] Add triplet generation utility script for vocabulary training (#149215)S. VenkataKeerthy1-0/+3
Added a Python utility script for generating IR2Vec triplets and updated documentation to reference it. The script generates triplets in a form suitable for training the vocabulary. (Tracking issues - #141817, #141834; closes - #141834)
2025-07-29[IR2Vec][llvm-ir2vec] Revamp triplet generation and add entity mapping mode ↵S. VenkataKeerthy1-13/+66
(#149214) Add entity mapping mode to llvm-ir2vec and improve triplet generation format for knowledge graph embedding training. This change streamlines the workflow for training the vocabulary embeddings with IR2Vec by: 1. Directly generating numeric IDs instead of requiring string-to-ID preprocessing 2. Providing entity mappings in standard knowledge graph embedding format 3. Structuring triplet output in train2id format compatible with knowledge graph embedding frameworks 4. Adding metadata headers to simplify post-processing and training setup These improvements make IR2Vec more compatible with standard knowledge graph embedding training pipelines and reduce the preprocessing steps needed before training. See #149215 for more details on how it is used. (Tracking issues - #141817, #141834)
2025-07-21[llvm-objdump] Add inlined function display support (#142246)gulfemsavrun1-10/+16
This patch adds the support for displaying inlined functions into llvm-objdump. 1) It extends the source variable display support for inlined functions both for ascii and unicode formats. 2) It also introduces a new format called limits-only that only prints a line for the start and end of an inlined function without line-drawing characters.
2025-07-17[IR2Vec] Adding documentation for llvm-ir2vec tool (#148719)S. VenkataKeerthy2-0/+171
Tracking issues - #141817, #141834
2025-06-25[llvm-objdump] Support --symbolize-operand on AArch64Alexis Engelke1-1/+1
Similar to the existing implementations for X86 and PPC, support symbolizing branch targets for AArch64. Do not omit the address for ADRP as the target is typically not at an intended location. Pull Request: https://github.com/llvm/llvm-project/pull/145009