1. 11 Feb, 2020 1 commit
    • Nico Hartmann's avatar
      [torque] Reduce generated CSA variables and labels · 89b248b6
      Nico Hartmann authored
      This CL significantly reduces the size of CSA files generated from
      torque by introducing only those Phis at block entry that are
      required and otherwise uses defined values directly.
      
      To do so it does:
      - Define a DefinitionLocation that represents where a value is
        defined.
      - For each block compute all the definitions that reach that
        block and introduce a phi iff the reaching definitions for a value
        are not the same for all predecessor blocks.
      - In CSAGenerator map all DefinitionLocations to variables, such that
        if the same value is used in multiple blocks, it is mapped to the
        same variable without the need to pass it along the jump. This
        reduces both the arguments passed to Goto, Branch, ... and the
        variables that need to be passed to Bind when the block's label is
        bound. This reduces the number of temporary variables
        significantly. Temporaries are declared outside of blocks now
        in order to be accessible from other blocks.
      
      Drive-by changes:
      - Sequences of SetSourcePosition calls are merged if no output is
        generated between them.
      - Dead blocks are no longer generated in release builds.
      
      Bug: v8:9861
      Change-Id: I5c30e5376e93c424c3ebfc5144a08592d77ae61f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037444
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66225}
      89b248b6
  2. 26 Nov, 2019 1 commit
  3. 13 Nov, 2018 1 commit
  4. 02 Nov, 2018 1 commit
  5. 31 Oct, 2018 3 commits
  6. 29 Oct, 2018 1 commit
  7. 04 Oct, 2018 1 commit