summaryrefslogtreecommitdiff
path: root/lowlevelilinstruction.cpp
AgeCommit message (Collapse)Author
2026-06-05Add abs, min, and max instructionsMark Rowe
2026-06-04Add bswap, popcnt, clz, ctz, cls, and rbit instructionsMark Rowe
2026-05-22Extend MLIL call instruction outputs to be expressionsRusty Wagner
2026-05-11Fix LowLevelILFunction::AddOverflowMark Rowe
It now stores its operands in the correct fields of the expression. Fixes https://github.com/Vector35/binaryninja-api/issues/8149.
2026-03-19Fix operand list iterators being validated when appending new instructionsMark Rowe
The iterators now store an offset into the operand storage, rather than a pointer. Deferencing the iterator retrieves the value at that offset from the IL function. This issue existed prior to the operand list storage refactor, but became easier to hit after that change. The separate operand list vector is smaller and thus more likely to reallocate when a new instruction is appended.
2026-03-16Represent operand lists and label maps more efficiently within IL instructionsMark Rowe
Rather than using chains of `UNDEF` instructions, the contents of these lists are in a vector alongside the instructions. The instruction itself stores the entry count and offset into this second vector at which the associated items can be found. This improves analysis performance by around 2% and decreases memory usage by around 5%.
2026-01-29Add missing LowLevelILFunction::AddOverFlow API (#7788)Scott Lagler
2026-01-01update copyrights for 2026Jordan Wiens
2025-12-15Use bn::base::function_ref instead of std::function for parameters that are ↵Mark Rowe
not stored This avoids the overhead of constructing a `std::function`, which may require a heap allocation, when calling functions that immediately invokes a function object.
2025-12-11Use constexpr arrays for metadata about IL instruction operandsMark Rowe
This avoids constructing two unordered maps and numerous vectors for each IL level at library load time for each plug-in that uses the C++ API. Additionally, the arrays allow for more efficient look-ups.
2025-12-08Allow overriding the IL source location that is used by *ILInstruction::CopyToMark Rowe
2025-07-14Reserve vector capacity when populating vectors in conversion operatorsMark Rowe
2025-06-12Fix RegisterStackFreeTopRelative opcode typoGlenn Smith
2025-04-29Fix fmt formatting of IL instruction tokensGlenn Smith
2025-03-28missed the older dates!Jordan Wiens
2025-02-14uidf refactorRyan Snyder
2024-06-10Add fmt formatters for IL instructionsGlenn Smith
2024-03-02Add support for memory intrinsics.Brian Potchik
2024-01-08update copyright yearJordan Wiens
2023-12-06Add LLIL/MLIL instructions to describe integer vs. floating point argument usageRusty Wagner
2023-01-05Update copyright to 2023Josh F
2023-01-03Add instruction attributes to IL instructionsRusty Wagner
2022-11-10Include C++ standard headersChristian Blichmann
When compiling in C++ mode, the C++ standard library headers should be included instead of their C counterparts. Drive-by: - Removed include of `json/json.h` from `settings.cpp`, where it was not used
2022-06-14Add Dump() to *LILInstructionGlenn Smith
2022-03-21Fix LLIL_FCMP_O not being handled in a couple placesGlenn Smith
Fixes #3032
2022-01-28Format All FilesKyleMiles
2022-01-03update copyright yearsJordan Wiens
2021-01-18updating copyright yearJordan Wiens
2020-11-10Fix warningsRusty Wagner
2020-06-09Fix warningsRusty Wagner
2020-05-11Modifications for supporting jemalloc in the coreRusty Wagner
2020-04-17Expand support for HLIL switch/case and data flow accessRusty Wagner
2020-01-01update copyright year to 2020Jordan Wiens
2019-12-19LLIL_JUMP_TO/MLIL_JUMP_TO now contain mappings from address to destination ↵Rusty Wagner
instruction
2019-10-27Eliminate most warnings on LinuxRusty Wagner
2019-01-17update company name and copyright dateJordan Wiens
2018-09-12Merging with devPeter LaFosse
2018-08-30Allow negative stack offsets for functions like alloca_probeRusty Wagner
2018-08-16Adding EXTERN_PTR typePeter LaFosse
2018-08-14Adding LLIL_RELOC_PTRPeter LaFosse
2018-04-25Adding tailcall analysis to the core.Brian Potchik
2018-02-12Merge branch 'dev' into fpuRusty Wagner
2018-02-09Add instructions for tracking freed register stack slotsRusty Wagner
2018-02-02Add rounding instructionsRusty Wagner
2018-01-31Allow intrinsics to write flagsRusty Wagner
2018-01-31Adding CPU intrinsics supportRusty Wagner
2018-01-18Allow flag roles to be dependent on semantic classRusty Wagner
2018-01-16Add classes and groups for semantic flags resolutionRusty Wagner
2018-01-14Container Memory Reservations.Brian Potchik
2018-01-02Fix incorrect handling of syscall ILRusty Wagner