Ivan Krysak
5894201920
Yield: update model-tutorial.md
2024-03-18 17:23:07 +01:00
Ivan Krysak
f2ab83489c
Yield: fix missing delay slots
...
When converting to PTML half of the delay slot logic
2024-03-18 11:40:32 +00:00
Ivan Krysak
ff59c24a3f
Yield: set CommentFontSize to 0
...
Since VSCode does not display instruction comments, accounting for
them was interfering with the graph rendering.
2024-03-18 11:40:32 +00:00
Ivan Krysak
44e5328477
Yield: add explicit directive support
2024-03-18 11:40:32 +00:00
Ivan Krysak
ff436f36bf
SortedVector: add an iterator constructor
2024-03-18 11:02:21 +00:00
Ivan Krysak
346cb498d3
Yield: make disassembly output objdump-like
2024-03-18 11:02:21 +00:00
Ivan Krysak
77fb7e6e5b
Yield: introduce BasicBlockPrefix option
2024-03-18 10:58:55 +00:00
Ivan Krysak
e5328290c6
Yield: reorder disassembly processing
...
This commit moves stuff around to enforce complete information being
present by the time the "Internal" assembly output is ready.
Because of that, the "Internal" format needed to change, now it uses
tag representation close to PTML as opposed to the one close to LLVM's
used before now.
2024-03-18 10:58:52 +00:00
Ivan Krysak
948d905752
Add PrintFullMetaAddress configuration option
2024-03-18 11:58:11 +01:00
Ivan Krysak
4d7785f0bb
Yield: remove unused 'plain' assembly style
...
When needed similar results can be achieved using `GenerateTagLessPTML`
option of the `PTMLBuilder`.
2024-03-18 11:58:11 +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
Ivan Krysak
001afd7eea
PermutationSelection: rethink iteration count
...
This change slightly improves the performance on slow to medium graphs
while leaving the performance on somewhat big ones untouched and
making the extremely big ones a lot worse. It also greatly improves
performance in the general case.
2024-03-18 11:58:11 +01:00
Ivan Krysak
7634b67153
PremutationSelection: introduce a bail condition
...
This allows algorithm to avoid spinning unnecessary where we choose
an overly-big iteration count.
2024-03-18 11:58:11 +01:00
Ivan Krysak
67c4a65122
Minor improvements
2024-03-18 11:58:11 +01:00
Ivan Krysak
2bffccaaf6
Move ImmediateStyle configuration to the model
2024-03-18 11:58:11 +01:00
Ivan Krysak
184aa03847
Move AddressStyle configuration to the model
2024-03-18 11:58:11 +01:00
Ivan Krysak
2827c9d7f7
Move UseATTSyntax configuration to the model
2024-03-18 11:58:11 +01:00
Ivan Krysak
d781f3ae79
Yield: make disassembler config-aware
2024-03-18 07:20:41 +00:00
Ivan Krysak
371784afbd
Model: introduce basic disassembly configuration
2024-03-18 07:20:41 +00:00
Ivan Krysak
7403f09b7d
docs: add new asm tokens
2024-03-18 07:20:41 +00:00
Ivan Krysak
a3e9e689ca
cli/ptml: add support for the new asm tokens
2024-03-18 07:20:41 +00:00
Ivan Krysak
e1060ed6ed
cli/ptml: fix asm.helper support
2024-03-18 07:20:41 +00:00
Ivan Krysak
870efbf201
Yield: introduce a conditional instruction prefix
2024-03-18 07:20:41 +00:00
Ivan Krysak
aa44fdbe91
docs: fix some typos
2024-03-18 07:20:41 +00:00
Ivan Krysak
a150b49c70
Support: remove unused dumper
2024-03-18 07:20:41 +00:00
Alessandro Di Federico
e990d491a4
Merge branch 'feature/segregation-testing'
2024-03-15 19:05:11 +01:00
Ivan Krysak
08041ba771
ToCFT: fix last stack argument verification
...
It was still broken, even after `feature/alignment-fixes`, so
this commit softens requirements even further, to allow some of
the desired cases to pass through the verifier.
2024-03-15 19:05:10 +01:00
Alessandro Di Federico
250354bd27
ValueMaterializer: work around unreachable blocks
2024-03-15 19:05:10 +01:00
Ivan Krysak
a58ccd159e
ImportPE: fix the filters
2024-03-15 19:05:10 +01:00
Ivan Krysak
1b52530531
ABI-tests: turn temporary directory into "output"
2024-03-15 19:05:10 +01:00
Ivan Krysak
d71fd7a1ad
ABI-tests: strip model of irrelevant functions
2024-03-15 19:05:10 +01:00
Ivan Krysak
6feb9aa001
ABI-tests: rename replace-abi script
2024-03-15 19:05:10 +01:00
Ivan Krysak
8ecdd76e68
ABI-tests: improve ABI mismatch error message
2024-03-15 19:05:10 +01:00
Ivan Krysak
5407c11a8f
ABI: do not touch ABIs of unrelated functions
2024-03-15 19:05:10 +01:00
Alessandro Di Federico
e93d8ba09f
RawBinaryView:getByOffset: fix of by =
2024-03-15 17:13:20 +01:00
Giacomo Vercesi
a376c2b36a
rcc: improve non-module files detection
...
Improve the detection of non-module files in `MyPyPass` to avoid python
scripts being erroneously passed to mypy together, causing the error
`Duplicate module named` in mypy.
2024-03-15 15:30:16 +01:00
Alessandro Di Federico
3fb9e58b0a
Progress: cap line length to terminal size
2024-03-01 17:47:28 +01:00
Alessandro Di Federico
fcf7fd8a0e
Merge branch 'feature/13-binaries-fixes'
2024-03-01 16:45:58 +01:00
Alessandro Di Federico
aec4be9b07
AttachDebugInfo: improve docs
2024-03-01 14:53:07 +01:00
Alessandro Di Federico
ffe93548c5
Model ::size(): do not suspend tracking
2024-03-01 14:53:07 +01:00
Alessandro Di Federico
7f1a15d1bb
Model: ignore empty ExportedNames
2024-03-01 14:53:07 +01:00
Alessandro Di Federico
db4e5c4a5e
Introduce dumpModel
2024-03-01 14:53:07 +01:00
Alessandro Di Federico
c346e60ee7
PromoteOriginalName: no globals with local names
...
This commit ensures we do not introduce new global symbols that would
make local symbols invalid.
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
6f4923265e
Type verify: improve error reporting
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
3cfd01e617
DwarfImporter: correctly handle Expected
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
c7868b4e7d
Runner: improve logging
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
0da9d1e1a4
Model: fix handling of 0-sized arguments
...
We used to support having a single `void` argument. It was for some
C-compatibility ambitions, but just omitting the argument is perfectly
fine.
Also, the DWARF importer has been fixed to handle typedef'd void as
arguments.
More in general, arguments are now required to always have a size.
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
d9e649d272
Importer/Binary: improve logging
2024-03-01 14:53:06 +01:00
Alessandro Di Federico
aa882f1bef
Importer/Binary: fix default XDG cache path
2024-03-01 14:53:06 +01:00