Anonymous | Login | Signup for a new account | 2023-03-20 16:27 CET |
Main | My View | View Issues |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0000147 | [libFirm] optimisations | major | always | 2014-09-01 17:17 | 2014-09-29 10:09 | |||||||
Reporter | mohr | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | normal | Resolution | open | |||||||||
Status | confirmed | Product Version | development | |||||||||
Summary | 0000147: Serious load-store optimization performance degradation | |||||||||||
Description |
The current implementation has a quadratic worst-case complexity in the number of graphs in the program. The optimization does the following: ... assure_irp_globals_entity_usage_computed(); ... clear_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE); assure_irg_entity_usage_computed(irg); irg_walk_graph(irg, NULL, do_eliminate_dead_stores, &env); ... assure_irp_globals_entity_usage_computed() requires a walk over all graphs in the program if the usage information is invalid. Since commit 220d57059a567e422c5adf11a5cd272957ca2d54, clearing IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE also invalidates the global usage information (which is correct, I think). However, the next call to assure_irp_globals_entity_usage_computed() will now walk over all graphs again. As the load-store optimization is usually called on each graph in a program, this leads to quadratic complexity. In the case of the X10 compiler, where we have a large number of graphs, this blows up the compile time by a factor of 10. The problem did not occur before, because both commit 220d57059a567e422c5adf11a5cd272957ca2d54 and commit 3d377d6bb8fe8769b7e187b2d0a186bbb4db0577 are needed (the latter removes an if statement; alias analysis was not enabled for the X10 compiler, not even for -O3). |
|||||||||||
Additional Information | ||||||||||||
Tags | No tags attached. | |||||||||||
Attached Files | ||||||||||||
|
There are no notes attached to this issue. |
![]() |
|||
Date Modified | Username | Field | Change |
2014-09-01 17:17 | mohr | New Issue | |
2014-09-01 17:18 | mohr | Description Updated | |
2014-09-29 10:09 | Matze | Status | new => confirmed |
Mantis 1.1.5[^] Copyright © 2000 - 2008 Mantis Group |