1. 17 Nov, 2020 2 commits
  2. 16 Nov, 2020 3 commits
  3. 13 Nov, 2020 1 commit
  4. 12 Nov, 2020 6 commits
  5. 11 Nov, 2020 8 commits
  6. 10 Nov, 2020 1 commit
  7. 06 Nov, 2020 2 commits
  8. 05 Nov, 2020 6 commits
    • Merge changes I3c4f10f7,I5b7ddc75 · 612ded06
      Sean Risser authored
      * changes:
        Update SPIR-V Tools to a61d07a72
        Squashed 'third_party/SPIRV-Tools/' changes from f7da52775..a61d07a72
    • Fix Android.bp build after SPIRV-Tools update · 1a599631
      Nicolas Capens authored
      Bug: b/123642959
      Change-Id: I145adbd76fe04f0bdf9fb7ee4e581aaeaba5fccc
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50069Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
    • Subzero: fix invalid arg access on Windows x86 for split variables · 3476ca34
      Antonio Maiorano authored
      See the first bug I fixed related to this: 7fefd483.
      
      That bug fix ensured that arguments are accessed relative to 'ebp'
      rather than 'esp' on Windows x86. However, when an arg Variable gets
      split (see LocalVariableSplitter), the new Variable that's linked to the
      original arg Variable must also use 'ebp' in the same way. This is now
      fixed by making sure to set its "isArg" state to match that of the
      "linked stack root" Variable at the same time as we set its
      "stackOffset" in the same way. Thus, when stackVarToAsmOperand is called
      during emitIAS, split Variables are properly addressed using the correct
      frame pointer.
      
      See the detailed design doc:
      https://docs.google.com/document/d/1IBsWg2V9_arWGYkpuwlKdne4lkA6XwSQ8fp99l8BmnA
      
      This fixes the intermittent crash reported here:
      https://bugs.chromium.org/p/angleproject/issues/detail?id=4482#c15
      
      Bug: angleproject:4482
      Change-Id: Ibc089f3a5b9a44f40f130a3db8656011212d2983
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50008
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • Subzero: fix non-deterministic stack layout and code-gen · f14f6c46
      Antonio Maiorano authored
      Using std::unordered_set to hold unmaterialized variables meant that
      when materializeAll was called, the order of variables would differ
      between runs of the same executable on the same target.
      
      Instead, we now use a map of Variable* to a monotonically increasing
      counter, allowing us to not only guarantee order-consistency across
      runs, but also means we can submit variables in the order they are
      declared, which may be preferable by the JIT backend.
      
      Note that this also affects LLVM; however, LLVM likely already performs
      stack variable reordering, so the effects are minimized. Nonetheless,
      this change likely also fixes determinism when using LLVM.
      
      Bug: angleproject:4482
      Bug: b/172365901
      Change-Id: I5698085ab96663b3c9a2fae4f01b1c1b3aac8b4b
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49949
      Presubmit-Ready: Antonio Maiorano <amaiorano@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • Update SPIR-V Tools to a61d07a72 · f95bac4e
      Sean Risser authored
      Changes:
          a61d07a72 spirv-val: Fix SPV_KHR_fragment_shading_rate VUID label (#4014)
          650acb575 spirv-val: Label Layer and ViewportIndex VUIDs (#4013)
          0c036df28 Add dead function elimination to -O (#4015)
          c2b2b5788 Add DebugValue for invisible store in single_store_elim (#4002)
          c74d5523b Fix SSA re-writing in the presence of variable pointers. (#4010)
          02195a029 spirv-fuzz: Fixes to pass management (#4011)
          bcf5b211d spirv-fuzz: Add support for reining in rogue fuzzer passes (#3987)
          7d250ed51 spirv-fuzz: Fix assertion failure in FuzzerPassAddCompositeExtract (#3995)
          f9937bcc8 spirv-fuzz: Fix invalid equation facts (#4009)
          aa6035f1c spirv-fuzz: Fix bugs in TransformationFlattenConditionalBranch (#4006)
          5735576f8 spirv-fuzz: Fix bug related to transformation applicability (#3990)
      
      Commands:
          ./third_party/update-spirvtools.sh
      
      Bug: b/123642959
      Change-Id: I3c4f10f78f63a75dcec8036a6a9488a82aebf84c
    • Squashed 'third_party/SPIRV-Tools/' changes from f7da52775..a61d07a72 · d2283f8e
      Sean Risser authored
      a61d07a72 spirv-val: Fix SPV_KHR_fragment_shading_rate VUID label (#4014)
      650acb575 spirv-val: Label Layer and ViewportIndex VUIDs (#4013)
      0c036df28 Add dead function elimination to -O (#4015)
      c2b2b5788 Add DebugValue for invisible store in single_store_elim (#4002)
      c74d5523b Fix SSA re-writing in the presence of variable pointers. (#4010)
      02195a029 spirv-fuzz: Fixes to pass management (#4011)
      bcf5b211d spirv-fuzz: Add support for reining in rogue fuzzer passes (#3987)
      7d250ed51 spirv-fuzz: Fix assertion failure in FuzzerPassAddCompositeExtract (#3995)
      f9937bcc8 spirv-fuzz: Fix invalid equation facts (#4009)
      aa6035f1c spirv-fuzz: Fix bugs in TransformationFlattenConditionalBranch (#4006)
      5735576f8 spirv-fuzz: Fix bug related to transformation applicability (#3990)
      
      git-subtree-dir: third_party/SPIRV-Tools
      git-subtree-split: a61d07a72763c1eb200de0a2c316703643a0d1d9
  9. 04 Nov, 2020 5 commits
  10. 03 Nov, 2020 4 commits
  11. 02 Nov, 2020 2 commits
    • Set the LLVM module's target triple · 959f4198
      Nicolas Capens authored
      The target triple is used by MemorySanitizer to determine where to map
      the shadow and origin data, which is OS specific. When not set, the
      MemorySanitizer::initializeModule() method, which inserts an __msan_init
      call to the module's constructor list, produces an
      "unsupported operating system" error.
      
      Note that JITs like Reactor have no use for a module constructor list
      (__msan_init gets called during executable startup), but there is
      currently no way to skip this initialization. Leaving it unused is fine
      though. Likewise, setting the target triple has not other known JIT uses
      at the moment, but it can't hurt.
      
      Bug: b/155148722
      Change-Id: Ia31d8c71ee495aadd91530a8d1c5fdc93add8e01
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49853
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
    • Merge changes If776b87d,I27098964 · eaf1c535
      Alexis Hétu authored
      * changes:
        Update SPIR-V Tools to f7da52775
        Squashed 'third_party/SPIRV-Tools/' changes from 82b378d671..f7da527757