Ignore:
Timestamp:
Apr 27, 2018, 4:43:30 PM (7 years ago)
Author:
[email protected]
Message:

Also run foldPathConstants before mussing up SSA
https://bugs.webkit.org/show_bug.cgi?id=185069

Reviewed by Saam Barati.

This isn't needed now, but will be once I implement the phase in bug 185060.

This could be a speed-up, or a slow-down, independent of that phase. Most likely it's neutral.
Local testing seems to suggest that it's neutral. Anyway, whatever it ends up being, I want it to
be landed separately and measured separately from that phase.

It's probably nice for sanity to have this and reduceStrength run before tail duplication and
another round of reduceStrength, since that make for something that is closer to a fixpoint. But
it will increase FTL compile times. So, there's no way to guess if this change is good, bad, or
neutral. It all depends on what programs typically look like.

  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/b3/B3Generate.cpp

    r225893 r231116  
    11/*
    2  * Copyright (C) 2015-2017 Apple Inc. All rights reserved.
     2 * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    8888        if (eliminateCommonSubexpressions(procedure))
    8989            eliminateCommonSubexpressions(procedure);
     90        foldPathConstants(procedure);
     91        reduceStrength(procedure);
    9092        inferSwitches(procedure);
    9193        duplicateTails(procedure);
Note: See TracChangeset for help on using the changeset viewer.