aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorPranil Dey <mkdeyp@gmail.com>2024-08-20 22:07:57 +0530
committerPranil Dey <mkdeyp@gmail.com>2024-08-20 22:47:15 +0530
commit9b53c7f9484fea5fa0fd23a6444b03071debc4f2 (patch)
tree9edd9a78f5e7b4e390f5ff538a6b2b5eacba8408 /libgcc
parent027bde11d44d58e6ad473af3a69dc21b451bcbc0 (diff)
downloadgcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.zip
gcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.tar.gz
gcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.tar.bz2
Edge redirection for exceptions.
This commit is contains change in code for the tree-eh.cc, tree-eh.h, MAINTAINERS and tree-cfg.cc files. Specifically it contains four functions - 1. void extract_exception_types_for_call which extracts the exception types in a call stmt and adds them into a vector tree. 2. bool stmt_throw_types does the same as stmt_could_throw the difference being that it also gives the list of exception types as given by the extract_exception_types_for_call function. 3. bool match_lp checks if a landing pad can handle any of the exception types given as input parameters by looking into the catch handlers. 4. update_stmt_eh_region is the function that walks up the EH tree and changes the landing pad for the last statement in a basic block in the control flow graph so that when the edge by make_eh_edge is created it points to the correct handlers. Further work to be done regarding RESX stmts.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions