Alessandro Di Federico
c04a30e703
Model: fake functions have no blocks
2021-05-08 11:39:10 +02:00
Alessandro Di Federico
1ac2884f2e
Handle blocks ending with unreachable
...
Sometimes basic blocks end with an
2021-05-08 11:39:10 +02:00
Alessandro Di Federico
e62f888381
Drop KeyTraits
...
This commit drops the KeyTraits in favor of a std::any-like solution.
Basically, we type erase any key the user wants to employ, just exposing
a virtual version of the destructor, a comparison operator and a clone
primitive.
2021-05-06 15:42:00 +02:00
Alessandro Di Federico
9650369fa7
Import TupleTree and TupleTreeReference
2021-05-05 17:10:12 +02:00
Alessandro Di Federico
51682eb024
model::FunctionEdge: carve out CallEdge
2021-05-05 17:10:12 +02:00
Alessandro Di Federico
90c93bfc26
Do not include PassSupport.h directly
2021-04-22 18:06:27 +02:00
Alessandro Di Federico
b25c43705c
SerializeModelPass: support new pass manager
2021-03-16 11:55:58 +01:00
Alessandro Di Federico
c2d6631216
LoadModelPass: support new pass manager
2021-03-16 11:55:58 +01:00
Alessandro Di Federico
0f7de0c2e0
Call to noreturn functions are not killer
...
We used to mark call to noreturn functions as killers, but this is not
correct.
Note that this is a temporary solution, we need to explicitly handle
such situations.
2021-02-19 09:39:49 +01:00
Alessandro Di Federico
93b7420c8a
Implement model::Function::dumpCFG
2021-02-19 09:39:49 +01:00
Alessandro Di Federico
82605514c4
model: prepare for ABI information
...
This commit also drops some dead code and fixes Model tests accordingly.
2021-02-19 09:39:49 +01:00
Pietro Fezzardi
10b90d6e15
SerializeModelPass: static method to write Model
2021-02-17 11:37:00 +01:00
Pietro Fezzardi
645484f699
LoadModelPass: add static function to read Model
2021-02-17 11:37:00 +01:00
Massimo Fioravanti
8ba9930638
Invert inheritance of GenericGraph nodes
...
GenericGraphs no longer require CRTP.
2021-01-27 19:46:53 +01:00
Alessandro Di Federico
38031f2f8a
Import preliminary model
...
This commit imports:
* support for (de-)serializing tuple-like objects in YAML
* the Model data structure
* the {Load,Serialize}ModelPass
2021-01-27 19:46:53 +01:00