Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ValueNumbering support for GT_SIMD and GT_HWINTRINSIC tree nodes #31834

Merged
merged 34 commits into from
Feb 26, 2020

Commits on Feb 18, 2020

  1. Configuration menu
    Copy the full SHA
    0c4b857 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    367da1f View commit details
    Browse the repository at this point in the history
  3. Correctness fix for optAssertionPropMain

      - Zero out the bbAssertionIn values, as these can be referenced in RangeCheck::MergeAssertion
        and this is shared state with the CSE phase: bbCseIn
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    57eadfb View commit details
    Browse the repository at this point in the history
  4. Improve the VNFOA_ArityMask

    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    6d2028c View commit details
    Browse the repository at this point in the history
  5. Include node type when value numbering SIMDIntrinsicInit

    Mutate the gloabl heap when performing a HW_INTRINSIC memory store operation
    Printing of SIMD constants only support 0
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    d8b9b53 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e188b9b View commit details
    Browse the repository at this point in the history
  7. Code review feedback

    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    506a544 View commit details
    Browse the repository at this point in the history
  8. Record csdStructHnd; // The class handle, currently needed to create …

    …a SIMD LclVar in PerformCSE
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    9c62167 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8e3cea8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3769197 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    305a017 View commit details
    Browse the repository at this point in the history
  12. Added check for simdNode->OperIsMemoryLoad()) to fgValueNumberSimd

    Added bool OperIsMemoryLoad() to GenTreeSIMD, returns true for SIMDIntrinsicInitArray
    Added valuenumfuncs.h to src/coreclr/src/jit/CMakeLists.txt
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    0d0e4f8 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    0232044 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d9dda0a View commit details
    Browse the repository at this point in the history
  15. Instead of asserting on a struct handle mismatch, we record it in csd…

    …StructHndMismatch and avoid making the candidate into a CSE
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    f6d7f65 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    b9d0a58 View commit details
    Browse the repository at this point in the history
  17. Additional checks for SIMD struct types when setting csdStructHnd

    Added Mismatched Struct Handle assert in ConsiderCandidates
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    3c3f2fe View commit details
    Browse the repository at this point in the history
  18. added extra value number argument VNF_SimdType for Most SIMD operations

    added VNF_SimdType // A value number function to compose a SIMD type
    added vnDumpSimdType
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    5b641a2 View commit details
    Browse the repository at this point in the history
  19. fix GenTreeSIMD::OperIsMemoryLoad for ARM64

    Removed ismatched Struct Handle assert
    briansull committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    a8ef319 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2020

  1. Added bool methods vnEncodesResultTypeForSIMDIntrinsic and vnEncodesR…

    …esultTypeForHWIntrinsic
    
    these return true when a SIMD or HW Instrinsic will use an extra arg to record the result type during value numbering
    Changes the ValueNumFuncDef to set the arity to zero when a -1 value is passed in
    Updated InitValueNumStoreStatics to fixup the arity of SIMD or HW Instrinsic that have an extra arg to record the result type
    Allow a type mismatchj when we have a GT_BLK as the lhs of an assignment, as it is used to zero out Simd structs
    briansull committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    343e35d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3c641ab View commit details
    Browse the repository at this point in the history
  3. fix typo

    briansull committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    c1aa65a View commit details
    Browse the repository at this point in the history
  4. Fix x86 build breaks

    Fix SIMD_WidenHi
    briansull committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    55228a6 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2020

  1. Added method header comment for vnEncodesResultTypeForHWIntrinsic

    Added & VNFOA_ArityMask when assigning to vnfOpAttribs[]
    briansull committed Feb 21, 2020
    Configuration menu
    Copy the full SHA
    2bbd982 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0e6a8c View commit details
    Browse the repository at this point in the history
  3. fix typo

    briansull committed Feb 21, 2020
    Configuration menu
    Copy the full SHA
    cbe5538 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3e927bf View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2020

  1. clang-format

    briansull committed Feb 22, 2020
    Configuration menu
    Copy the full SHA
    b2b8986 View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2020

  1. Configuration menu
    Copy the full SHA
    7bd9303 View commit details
    Browse the repository at this point in the history
  2. Proposed fix for dotnet#32085

    briansull committed Feb 25, 2020
    Configuration menu
    Copy the full SHA
    169c24e View commit details
    Browse the repository at this point in the history
  3. Revert "Proposed fix for dotnet#32085"

    This reverts commit 169c24e.
    briansull committed Feb 25, 2020
    Configuration menu
    Copy the full SHA
    8d0ce82 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6ae894a View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2020

  1. Added CONFIG_INTEGER: JitDisableSimdVN,

       Default 0, ValueNumbering of SIMD nodes and HW Intrinsic nodes enabled
       If 1, then disable ValueNumbering of SIMD nodes
       If 2, then disable ValueNumbering of HW Intrinsic nodes
       If 3, disable both SIMD and HW Intrinsic nodes
    briansull committed Feb 26, 2020
    Configuration menu
    Copy the full SHA
    b4eb406 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    90bf7b3 View commit details
    Browse the repository at this point in the history