summaryrefslogtreecommitdiff
path: root/gcc/type-structural-main-variant.c
diff options
context:
space:
mode:
authorErick Ochoa <erick.ochoa@theobroma-systems.com>2020-10-16 08:49:08 +0200
committerErick Ochoa <erick.ochoa@theobroma-systems.com>2020-10-30 13:12:40 +0100
commit95ad1ab7abc363bf975610b0bafcd31ddb9d8578 (patch)
tree0dd3f7c0fc0b8a0c8ffb06837ecf7e3b9a2120b8 /gcc/type-structural-main-variant.c
parent9e3b57481607a941699f08f211c2e7f881b6e78d (diff)
Add heuristic to take into account void* pattern.
We add a heuristic in order to be able to transform functions which receive void* arguments as a way to generalize over arguments. An example of this is qsort. The heuristic works by first inspecting leaves in the call graph. If the leaves only contain a reference to a single RECORD_TYPE then we color the nodes in the call graph as "casts are safe in this function and does not call external visible functions". We propagate this property up the callgraph until a fixed point is reached. This will later be changed to use ipa-modref.
Diffstat (limited to 'gcc/type-structural-main-variant.c')
0 files changed, 0 insertions, 0 deletions