This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I suspect long term we'll have a better DSE algorithm; however, until then we might as well catch the low hanging fruit with the existing DSE algorithm. This patch restores DSE's ability to optimize away stores to objects in static storage by examining V_MUST_DEF operands (which was lost when we introduced V_MUST_DEF) and also allows DSE to optimize away stores with multiple virtual outputs. Handling V_MUST_DEF is by far the more useful of the two improvements; it catches several cases in gengtype-lex that are not caught by any existing optimizer plus a few randoms in other gcc files. Handling multiple virtual outputs isn't as valuable, I only saw one case in GCC itself where handling multiple virtual outputs resulted in any change in the code we generate. This will ever-so-slightly raise the bar for whatever new implementation we choose for DSE in the future. I've also added several tests to the testsuite. Including one for partial dead store elimination, which we do not currently perform. Bootstrapped and regression tested on i686-pc-linux-gnu.
Attachment:
PPP
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |