Alessandro Di Federico
5c9b6ed9b3
Rename DILogger into Log
2024-08-16 13:27:00 +02:00
Alessandro Di Federico
744184c90c
Do not use CallBase::getCalledFunction
...
Use our wrapper, which does not return nullptr if the `FunctionType`s do
not match.
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
7b00473859
PDBImporter: rework .pdb search
2024-08-05 17:41:34 +02:00
Alessandro Di Federico
bce1d6c0f3
Adopt invalidation along the core pipeline
2024-06-20 10:24:50 +02:00
Alessandro Di Federico
9fce67eee9
Reduce IRBuilder usage in favor of IRBuilderBase
2024-06-20 10:24:50 +02:00
Alessandro Di Federico
a6cf3fbb83
Centralize computation of llvm::Function names
...
This commit introduces a function to obtain the name assigned to a
`llvm::Function` associated to a `model::Function`. This simplifies the
codebase but also enables us to introduce an option to produce
human-friendly names for debugging/testing purposes.
2024-06-20 10:24:49 +02:00
Alessandro Di Federico
bf6cefc05a
Externalize functions to improve build times
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
fe1dffcffd
Add some missing includes
...
This is in preparation of reducing headers in Debug.h.
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
a1f3624b21
TraceProgressListener: flush upon signal
2024-04-18 17:50:33 +02:00
Pietro Fezzardi
1baec8ff7b
Drop old MonotoneFramework
2024-03-19 09:43:59 +01:00
Ivan Krysak
e2018fa1c3
MetaAddress: add partial serialization option
2024-03-18 11:58:11 +01:00
Ivan Krysak
86fdb19b9f
MetaAddress: pull separator into the header
2024-03-18 11:58:11 +01:00
Alessandro Di Federico
3fb9e58b0a
Progress: cap line length to terminal size
2024-03-01 17:47:28 +01:00
Alessandro Di Federico
c7868b4e7d
Runner: improve logging
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
2347304b70
Progress.cpp: handle StepsCount == 0
2024-03-01 14:23:30 +01:00
Giacomo Vercesi
06f6137004
ResourceFinder: implement getComponentsHash
...
Implement the `getComponentsHash` function which returns a hash string
for all the components currently installed in revng.
2024-01-26 17:46:21 +01:00
Giacomo Vercesi
9a701a0665
GzipTarWriter: fix append for empty files
...
The `GzipTarWriter::append` method erroneously added an empty block of
padding when an empty file (size == 0) was supplied. This corrects the
algorithm by excluding 512 as a valid padding size.
2024-01-26 17:46:21 +01:00
Alessandro Di Federico
0e7d3a9a71
Pass PlainMetaAddress by pointer
2023-12-12 10:20:51 +01:00
Alessandro Di Federico
8549cc9346
LDDTree: parse ld.so.conf
2023-11-06 14:33:21 +01:00
Giacomo Vercesi
4a2cd259e3
Introduce GzipTarFile
...
Add the GzipTarFileWriter and GzipTarReader classes that allow reading a
slightly custom `.tar.gz`.
2023-09-06 15:23:43 +02:00
Giacomo Vercesi
dc90bca33e
revng/Support: split part of Statistics in OnQuit
...
Split the OnQuit functionality of Statistics as a separate header and
object file. Rework the interface to use lambdas instead of the
OnQuitInterface.
2023-09-06 15:23:43 +02:00
Alessandro Di Federico
f584308ead
Introduce getLibrariesFullPath
2023-08-23 16:14:05 +02:00
Alessandro Di Federico
2c8c06e4ab
Introduce ProgressListeners
2023-08-01 10:49:41 +02:00
Kacper Kołodziej
c0f226fa70
Add const qualifiers to some functions
...
getJumpTargetBlock takes llvm::BasicBlock * as argument, but doesn't
need to modify it, so const it adds const to it and other functions that
are used by getJumpTargetBlock: findJumpTarget, isTranslated, getType,
isJumpTarget.
2023-07-31 11:29:40 +02:00
Ivan Krysak
7d235f4fd0
Enforce licence header consistency
...
Also do some basic cleanup: capitalize first letters, add `.`
at the end of the sentences, and so on.
2023-07-03 15:23:10 +00:00
Ivan Krysak
9f1d9fd5d0
Use Container::contains() where appropriate
2023-07-02 15:06:11 +00:00
Ivan Krysak
bc98e0079f
Formatting: change PenaltyReturnTypeOnItsOwnLine
...
The new value is 21.
2023-07-02 13:20:49 +02:00
Ivan Krysak
01b4ec36c9
Formatting: set AllowShortEnumsOnASingleLine
...
The new value is `false`.
2023-07-02 13:15:08 +02:00
Alessandro Di Federico
4edcb6dd49
MetaAddress::decomposeIntegerPC: accept APInt
2023-06-30 13:35:04 +02:00
Alessandro Di Federico
f120ad334c
Statistics.h: rework
2023-06-30 13:06:58 +02:00
Alessandro Di Federico
6ca6692d1e
getUniqueJumpTarget: do not abort if PC unwritten
...
Sometimes code performs an indirect jump without changing the value of
the PC. In most cases this is due to non-code or some other faulty
situation, but it is in principle possible that an instruction performs
an indirect branch to its own address.
This commit ensures that this situation does not end up in an hard
failure.
2023-06-30 12:35:18 +02:00
Alessandro Di Federico
3706f77960
LDDTree: mark Logger static
2023-06-30 12:35:18 +02:00
Alessandro Di Federico
942cc1323a
revng::verify: dump module upon failure
2023-06-23 17:54:55 +02:00
Giacomo Vercesi
31cd2b53f9
rcc: add codespell
...
Add codespell to the list of checks performed by
revng-check-conventions. This should reduce the amount of typos present
in the revng codebase.
2023-05-11 10:05:32 +02:00
Alessandro Di Federico
b112d51154
LDDTree: rewrite findLibrary
...
`findLibrary` has been rewritten to adhere more strictly to `man ld.so`.
Also, `lddtree` no longer relies on sections headers.
2023-05-10 11:04:52 +02:00
Alessandro Di Federico
4c0f809626
Introduce PathList::list
2023-05-10 09:17:35 +02:00
Alessandro Di Federico
4b2e067574
rcc: ban functions we wrap
2023-04-28 14:34:52 +02:00
Alessandro Di Federico
2f917a2772
Introduce ModuleStatistics
2023-04-28 14:04:32 +02:00
Alessandro Di Federico
628aa42cc2
Introduce collectTypes
2023-04-28 14:04:31 +02:00
Alessandro Di Federico
170749b0aa
Introduce revng::verify
2023-04-28 14:04:31 +02:00
Alessandro Di Federico
8fd34ff0f7
pruneDICompileUnits: delegate to DIFinder
2023-04-14 08:36:05 +02:00
Alessandro Di Federico
bce3555285
Drop CallToLifted tag
...
This commit drops the `CallToLifted` tag in favor of a
`getCallToIsolatedFunction` function which checks if the call has the
`IsolatedFunction` tag. The function also assumes that indirect calls
are calls to lifted functions.
2023-04-13 18:11:48 +02:00
Alessandro Di Federico
92b9ba5571
Import findPhiTreeLeaves
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
a0c0cd9468
extractFromConstantStringPtr: no stripPointerCasts
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
4182a94346
Adopt MemoryEffects::none
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
e131817334
Drop usage of Type::getPointerElementType
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
26765f3d84
Drop usages of getBasicBlockList
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
394111ed40
Add missing includes
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
d2caa1fad0
Make CreateLoad usages opaque pointers-compatible
2023-04-08 08:42:24 +02:00
Alessandro Di Federico
dbcdad0a4d
Switch from llvm::Optional to std::optional
2023-04-08 08:42:24 +02:00