summaryrefslogtreecommitdiff
path: root/lowlevelilinstruction.h
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-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-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-08-01Make the IL iterators real iterators for std::find_ifGlenn Smith
2025-03-28missed the older dates!Jordan Wiens
2025-02-14uidf refactorRyan Snyder
2024-12-16Update dependencies and fix compilation errors/warnings for g++14 and c++20Josh Ferrell
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-08-25Make the IL exceptions include stack tracesGlenn Smith
2023-01-05Update copyright to 2023Josh F
2023-01-03Add instruction attributes to IL instructionsRusty Wagner
2022-10-17[C++ docs] Several fixes, improvements, additions, and general cleanupkat
- Sort documentation into groups (aka. modules) - Add DataRenderer, BinaryView, InstructionTextToken, Others docs - Fixes stylesheet for documentation website - New 'Deprecated' section listing deprecated items - Re-add 'Files' listing - Add a 'Main page' and restructure the navbar
2022-06-14Add Dump() to *LILInstructionGlenn Smith
2022-01-28Format All FilesKyleMiles
2022-01-03update copyright yearsJordan Wiens
2021-01-18updating copyright yearJordan Wiens
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-09Add instructions for tracking freed register stack slotsRusty Wagner
2018-02-02Add rounding instructionsRusty Wagner
2018-01-31Adding CPU intrinsics supportRusty Wagner
2018-01-16Add classes and groups for semantic flags resolutionRusty Wagner
2017-12-26Merge branch 'dev' into fpuRusty Wagner
2017-12-12Modify Hash Functions.Brian Potchik
2017-11-27Register stack adjustments in calling conventionsRusty Wagner
2017-10-06Adding support for register stacks in IL (for x87)Rusty Wagner
2017-10-03Add basic floating point instructionsRusty Wagner
2017-08-29Updating APIs to deal with stack adjustmentRusty Wagner
2017-08-05Fix typoRusty Wagner
2017-08-05Refactor IL instruction access APIsRusty Wagner