1. 26 Jan, 2021 1 commit
    • Paolo Severini's avatar
      [test][turbofan] Add %ObserveNode intrinsic for node-specific tests · 4e9f6513
      Paolo Severini authored
      (Initially copied from nicohartmann@ CL
      https://chromium-review.googlesource.com/c/v8/v8/+/2135631)
      
      This CL adds a new intrinsic %ObserveNode(expr) which has noop semantics
      but triggers the new NodeObserver set on the OptimizedCompilationInfo
      when the node generated for expr is created or changed in any phase
      (until EffectControlLinearization).
      
      This provides the infrastructure to write reasonable unit tests that
      check for the construction of or lowering to specific nodes (e.g.
      depending on feedback).
      
      When %ObserveNode(expr) is used an object of class ObserveNodeManager is
      registered to every Reducer/GraphReducer and is notified by the Reducer
      with all node changes. The same logic is added to classes
      SimplifiedLowering/RepresentationSelector, which do not inherit from
      class Reducer.
      
      Observed Node modifications currently are:
       * The Node Operator
       * The Node type
       * Node replacements
      
      A first use case (cctest/test-sloppy-equality.cc) is included in this CL.
      
      Change-Id: Idc5a5e38af8b1d9a2ec5021bf821c4e4e1406220
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555219
      Commit-Queue: Paolo Severini <paolosev@microsoft.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72331}
      4e9f6513
  2. 29 Sep, 2020 1 commit
  3. 20 Nov, 2019 1 commit
  4. 24 Oct, 2019 1 commit
    • Ross McIlroy's avatar
      [TurboProp] Remove the second schedule for TurboProp. · 22fd9555
      Ross McIlroy authored
      This rearranges the TurboProp pipeline to avoid the need for a second
      schedule of the graph. To do this, it moves the final schedule creation
      before effect-control-linearization (which used a temporary schedule
      previously, and with TurboFan). It then enables the block updater in the
      graph assembler for effect control linearization and does select and
      memory lowering in a new ScheduledMachineLowering phase to maintain
      this existing schedule during these lowering passes.
      
      BUG=v8:9684
      
      Change-Id: I6a7790b010f8b152dd01d85aa95ee5d4f99087a5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847351
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64537}
      22fd9555