Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
S
swiftshader
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • swiftshader
  • Repository

Switch branch/tag
  • swiftshader
  • third_party
  • SPIRV-Tools
  • source
  • opt
  • folding_rules.cpp
Find file
BlameHistoryPermalink
  • Alexis Hetu's avatar
    Update SPIR-V Tools to 82b378d67 · fd4ad841
    Alexis Hetu authored Oct 29, 2020
    Changes:
        82b378d67 spirv-opt: Add support to prevent functions from being inlined if they have DontInline flag (#3858)
        56d0f5035 Propagate OpLine to all applied instructions in spirv-opt (#3951)
        7403dfafd CMake: Add SPIRV_TOOLS_BUILD_STATIC flag (#3910)
        25ee27576 Avoid copying a ref in a loop (#4000)
        5edb328e8 spirv-val: Allow the ViewportIndex and Layer built-ins on SPIR-V 1.5 (#3986)
        cbd1fa6c4 Simplify logic to decide whether CCP modified the IR (#3997)
        df4198e50 Add DebugValue for DebugDecl invisible to value assignment (#3973)
        34ae8a475 Fix bounds check instrumentation to handle 16-bit values (#3983)
        abe2eff36 spirv-fuzz: Add expand vector reduction transformation (#3869)
        99ad4f1e2 spirv-fuzz: Don't replace irrelevant indices in OpAccessChain (#3988)
        895dafcc1 spirv-fuzz: Add FuzzerPassAddCompositeExtract (#3904)
        69f07da41 spirv-fuzz: Fix mismatch with shrinker step limit (#3985)
        9223493f4 spirv-fuzz: Fix off-by-one error in replayer (#3982)
        4f5423187 spirv-fuzz: Get order right for OpSelect arguments (#3974)
        88f7bcb6a spirv-fuzz: Do not add synonym-creating loops in dead blocks (#3975)
        64eaa9832 spirv-fuzz: Skip OpTypeSampledImage when propagating up (#3976)
        53f2a69c1 spirv-fuzz: Pass OpUndef in function call if needed (#3978)
        de2c0ba20 spirv-fuzz: Fix off-by-one in TransformationCompositeConstruct (#3979)
        dc4a18228 spirv-fuzz: Tolerate absent ids in data synonym fact management (#3966)
        8496780f5 spirv-fuzz: Fix to id availability (#3971)
        3b7aebca4 spirv-fuzz: Fix operand types (#3962)
        6fe34cdf1 Update SPIRV-Headers revision in DEPS file (#3961)
        a8d7062fe spirv-fuzz: Don't flatten conditional if condition is irrelevant (#3944)
        a3d5378df spirv-fuzz: Do not produce OpPhis of type OpTypeSampledImage (#3964)
        7edd0525b spirv-fuzz: Restrict fuzzer pass to reachable blocks (#3970)
        f03779a1a spirv-fuzz: Handle more types when extending OpPhi instructions (#3969)
        c794b7046 spirv-fuzz: Skip early terminator wrappers when merging returns (#3968)
        dc9c6407d spirv-fuzz: Avoid irrelevant constants in synonym-creating loops (#3967)
        26954c281 spirv-fuzz: Skip dead blocks in FuzzerPassAddOpPhiSynonyms (#3965)
        5600fb85b spirv-fuzz: Avoid the type manager when looking for struct types (#3963)
        ba15b5886 spirv-fuzz: Fix to TransformationDuplicateRegionWithSelection (#3941)
        598435004 spirv-fuzz: Skip OpFunction when replacing irrelevant ids (#3932)
        8362eae55 spirv-fuzz: Use component-wise selectors when flattening conditional branches (#3921)
        ebe0ea09f Add SPV_EXT_shader_image_int64 (#3852)
        a1d38174b Support SPV_KHR_fragment_shading_rate (#3943)
        6fac705e7 spirv-val: Fix validation of OpPhi instructions (#3919)
        b1350659b spirv-fuzz: Avoid void struct member when outlining functions (#3936)
        fd0f295da spirv-fuzz: Do not allow Block-decorated structs when adding parameters (#3931)
        5d7893b37 spirv-fuzz: Fix to operand id type (#3937)
        cd1d3b6e0 spirv-fuzz: Handle dead blocks in TransformationEquationInstruction (#3933)
        6cdae9da7 spirv-fuzz: Do not allow sampled image load when flattening conditionals (#3930)
        7e1825a59 spirv-fuzz: Take care of OpPhi instructions when inlining (#3939)
        502e98295 spirv-fuzz: Fix to TransformationInlineFunction (#3913)
        bf1a11dab spirv-fuzz: Wrap early terminators before merging returns (#3925)
        fd3948e16 Add DebugValue for function param regardless of scope (#3923)
        663d050a9 Temporary fix to make GoogleTest compile. (#3922)
        dd534e877 spirv-fuzz: Lower probability of adding bit instruction synonyms (#3917)
        53aeba10c spirv-fuzz: Fix handling of OpPhi in FlattenConditionalBranch (#3916)
        5c64374dd spirv-fuzz: Avoid creating blocks without parents (#3908)
        57b3723c5 spirv-fuzz: Do not allow creation of constants of block-decorated structs (#3903)
        12ca825a6 spirv-fuzz: Fixes related to irrelevant ids (#3901)
        2e6cf706e spirv-fuzz: Fix to transformation that adds a synonym via a loop (#3898)
        4b884928d spirv-fuzz: Fix to duplicate region with selection (#3896)
        c2553a315 spirv-fuzz: Do not expose synonym facts for non-existent ids (#3891)
        360228785 spirv-fuzz: Do not add synonyms involving irrelevant ids (#3890)
        d52f79122 spirv-fuzz: Do not replace irrelevant ids that are not in blocks (#3892)
        e02265992 spirv-fuzz: Wrap OpKill and similar in function calls (#3884)
        11d592422 Update val to handle reversed instruction sections. (#3887)
        fc8264854 spirv-fuzz: Replace dead-block terminators with OpKill etc. (#3882)
        63cc22d64 spirv-fuzz: TransformationPropagateInstructionDown (#3692)
        65b2a9e81 spirv-fuzz: Transformation to add wrappers for OpKill and similar (#3881)
        624b16cd0 spirv-fuzz: Use overflow ids when duplicating regions (#3878)
        bd0dd9cef spirv-fuzz: Fix rvalue references (#3883)
        f15133788 spirv-fuzz: Avoid using block-decorated structs in transformations (#3877)
        0e8553072 spirv-fuzz: Use overflow ids when inlining functions (#3880)
        67f8e2edd Debug info preservation in convert-local-access-chains pass (#3835)
        d91afd8de spirv-fuzz: Refactor fact manager tests (#3879)
        b920b620a spirv-fuzz: Integrate spirv-reduce with shrinker (#3849)
        74a711a76 spirv-fuzz: Only recommend passes when a pass had an effect (#3863)
        fc7860e2d spirv-fuzz: Merge the return instructions in a function (#3838)
        57abfd88c Debug info preservation in redundancy-elimination pass (#3839)
        e24603836 Debug info preservation in if-conversion pass (#3861)
        16cc197c8 spirv-fuzz: Refactor conditions in the fact manager (#3867)
        615fbe6cb spirv-fuzz: TransformationWrapRegionInSelection (#3674)
        f2b8a4ee5 spirv-fuzz: Enable some passes with high probability (#3860)
        50e04f612 spirv-fuzz: Do not add constants for Block-decorated structs (#3862)
        8edd79ddc spirv-fuzz: Fix to FuzzerPassFlattenConditionalBranches (#3865)
        719bade4f spirv-fuzz: Fix TransformationRecordSynonymousConstants (#3868)
        009facc97 spirv-fuzz: Fix flatten conditional branch transformation (#3859)
        fcb22ecf0 spirv-fuzz: Report fresh ids in transformations (#3856)
        c6ca885c0 [spirv-dis] Add some context comments to disassembly. (#3847)
        446adb05f Fix use-after-move in val/validate.cpp (#3848)
        4b07d50cd spirv-fuzz: Fix bug in TransformationDuplicateRegionWithSelection (#3819)
        fec56146a spirv-fuzz: Support OpNot bit instruction case (#3841)
        9e17b9d07 spirv-fuzz: Return IR and transformation context after replay (#3846)
        e12087d6c spirv-fuzz: fix test (#3845)
        9edeeafdb spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844)
        50dacda55 Start SPIRV-Tools v2020.6
        b27e039c6 Finalize SPIRV-Tools v2020.5
        a5903a969 Update CHANGES
        330c72549 spirv-fuzz: Support dead blocks in TransformationAddSynonym (#3832)
        36185f8b0 spirv-fuzz: Move IRContext parameter into constructor (#3837)
        0e7fe4d35 Add missing backticks around <result-id> (#3840)
        d1bb98fd4 Validate SPIRV Version number when parsing binary header (#3834)
        67525bded spirv-fuzz: Create synonym of int constant using a loop (#3790)
        7cc4b4d2c Fix compiler error on macOS with XCode12 (#3836)
        5a5b750aa spirv-fuzz: Handle OpPhis in TransformationInlineFunction (#3833)
        0a1fb588c Update CHANGES
        125b64241 spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818)
        60ce96e2f spirv-fuzz: Add pass recommendations (#3757)
        2945963cc spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795)
        50ae4c5f4 Fix header guard macros (#3811)
        296e9c7bc spirv-fuzz: Fix TransformationDuplicateRegionWithSelection (#3815)
        937a757f0 spirv-val: Add DeviceIndex (#3812)
        34ef0c3fd Fix missed modification flagging (#3814)
        748edbf8c spirv-fuzz: Use an irrelevant id for the unused components (#3810)
        8d49fb2f4 spirv-fuzz: Improvements to random number generation (#3809)
        7e28d809c Add buffer oob check to bindless instrumentation (#3800)
        8fc504110 spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807)
        e8ce4355a spirv-fuzz: Add bit instruction synonym transformation (#3775)
        e7c84feda spirv-fuzz: Skip unreachable blocks (#3729)
        f20b523cb Fix build errors (#3804)
        3131686d2 spirv-fuzz: Handle invalid ids in fact manager (#3742)
        4c239bd81 spirv-fuzz: Support memory instructions MoveInstructionDown (#3700)
        1e1c308de spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796)
        f62357e7b spirv-fuzz: Transformation to flatten conditional branch (#3667)
        5df930054 spirv-val: Add BaseInstance, BaseVertex, DrawIndex, and ViewIndex (#3782)
        286b3095d Properly mark IR changed if instruction folder creates more than one constant. (#3799)
        726af6f78 Add missing file to BUILD.gn (#3798)
        244e6c1be spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773)
        5dcb576b6 spirv-reduce: Support reducing a specific function (#3774)
        de7d57984 spirv-reduce: Refactoring (#3793)
        ed9863e46 Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619)
        8743d385f spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784)
        2de7d3af0 spirv-fuzz: Add SPIRV_FUZZ_PROTOC_COMMAND (#3789)
        e589d0d57 Add missing include (#3788)
        a715b1b40 Improve spirv-fuzz CMake code (#3781)
        a187dd58a Allow SPV_KHR_8bit_storage extension. (#3780)
        1ab52e54a spirv-opt: Add function to compute nesting depth of a block (#3771)
        fd05605be spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681)
        2c60d16a6 spirv-val: Add Vulkan VUID labels to BuiltIn (#3756)
        c341f7a6c spirv-fuzz: Add support for BuiltIn decoration (#3736)
        c278dada9 spirv-fuzz: Fix GetIdEquivalenceClasses (#3767)
        788468408 spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744)
        3daabd321 spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697)
        d7f078f27 spirv-fuzz: TransformationMutatePointer (#3737)
        43a518601 spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753)
        8a0ebd40f Correctly replace debug lexical scope of instruction (#3718)
        f428aa39c spirv-fuzz: Remove opaque pointer design pattern (#3755)
        08291a3a9 spirv-fuzz: Create synonym via OpPhi and existing synonyms (#3701)
        7e4948b2a Add LoopNestingDepth function to StructuredCFGAnalysis (#3754)
        50cf38b8c spirv-fuzz: Do not make synonyms of void result ids (#3747)
        bceab9fab Do not register DebugFunction for functions optimized away. (#3749)
        e02f178a7 Handle DebugScope in compact-ids pass (#3724)
        9e26ae045 spirv-fuzz: Overflow ids (#3734)
        2205254cf Fix DebugNoScope to not output InlinedAt operand. (#3748)
        230f363e6 spirv-fuzz: Split the fact manager into multiple files (#3699)
        5adc5ae64 spirv-fuzz: Add inline function transformation (#3517)
        1341b58a8 spirv-fuzz: Fix MaybeGetZeroConstant (#3740)
        12df3cafe Fix SSA-rewrite to remove DebugDeclare for variables without loads (#3719)
        3f8501de9 Add undef for inlined void function (#3720)
        4dd122392 spirv-fuzz: Add words instead of logical operands (#3728)
        b79773a35 CCP should mark IR changed if it created new constants. (#3732)
        a711c594b spirv-fuzz: add FuzzerPassAddCompositeInserts (#3606)
        582c276d4 spirv-fuzz: Support pointer types in FuzzerPassAddParameters (#3627)
        3434cb0b0 Let ADCE pass check DebugScope (#3703)
        ee7f0c882 spirv-opt: Implement opt::Function::HasEarlyReturn function (#3711)
        e28436f2b spirv-fuzz: Check termination instructions when donating modules (#3710)
        1023dd7a0 Fix -Wrange-loop-analysis warning (#3712)
        82f4bf128 spirv-fuzz: Check header dominance when adding dead block (#3694)
        b8de4f57e Allow DebugTypeTemplate for Type operand (#3702)
        c20995ef8 spirv-fuzz: Improve code coverage of tests (#3686)
        eade36db2 spirv-fuzz: Fuzzer pass to randomly apply loop preheaders (#3668)
        72ea7bec4 spirv-fuzz: Support identical predecessors in TransformationPropagateInstructionUp (#3689)
        b4c4da3e7 Improve non-semantic instruction handling in the optimizer (#3693)
        948577c5d Fix the bug (#3680)
        df859f77d spirv-fuzz: Check integer and float width capabilities (#3670)
        2641d3351 spirv-fuzz: consider additional access chain instructions (#3672)
        5e5929455 spirv-fuzz: Ignore specialization constants (#3664)
        1435e427d Fix the bug (#3683)
        be099cde1 spirv-fuzz: Fix width in FuzzerPassAddEquationInstructions (#3685)
        f0ca96d12 Preserve debug info in dead-insert-elim pass (#3652)
        0d629b903 Validate more OpenCL.DebugInfo.100 instructions (#3684)
        13a65b1ae Only validation locations for appropriate execution models (#3656)
        fd3cabd8b spirv-fuzz: Fix in operand type assertion (#3666)
        f50553867 spirv-opt: Add spvOpcodeIsAccessChain (#3682)
        b7056e7e0 spirv-fuzz: FuzzerPassPropagateInstructionsUp (#3478)
        8e1380996 Handle no index access chain in local access chain convert (#3678)
        bdeeae78a Roll 2 dependencies (#3677)
        2990a2192 Avoid using /MP4 for clang on windows. (#3662)
        7b2dd11dd spirv-fuzz: TransformationReplaceAddSubMulWithCarryingExtended (#3598)
        6d7f34fbf spirv-fuzz: Add TransformationMakeVectorOperationDynamic (#3597)
        d29eac95a spirv-fuzz: iterate over blocks in replace linear algebra pass (#3654)
        efc85ff66 spirv-fuzz: make outliner pass use additional transformations (#3604)
        5fd92a7e0 OpenCL.DebugInfo.100 DebugTypeArray with variable size (#3549)
        3f33a9aa5 spirv-opt: Improve the code of the Instruction class (#3610)
        0419751b0 spirv-fuzz: Handle OpPhis in livesafe functions (#3642)
        a10e76059 spirv-fuzz: Handle OpPhi during constant obfuscation (#3640)
        28f32ca53 spirv-fuzz: Fix FuzzerPassCopyObjects (#3638)
        8bc27a1cf spirv-fuzz: Remove OpFunctionCall operands in correct order (#3630)
        d9c73ebd9 spirv-fuzz: Handle capabilities during module donation (#3651)
        9f2223602 spirv-fuzz: Refactor boilerplate in TransformationAddParameter (#3625)
        92a71657f spirv-fuzz: TransformationMoveInstructionDown (#3477)
        b78f4b151 Remove DebugDeclare only for target variables in ssa-rewrite (#3511)
        91cea06ab Fix typo in ASAN CI build (#3623)
        2aaa8653d spirv-fuzz: Transformation to add loop preheader (#3599)
        96bcc8274 spirv-fuzz: Pass to replace int operands with ints of opposite signedness (#3612)
        ebaefda66 Debug info preservation in loop-unroll pass (#3548)
        50300450a Validator support for non-semantic clspv reflection (#3618)
        ab4fe12a4 spirv-fuzz: Fix memory bugs (#3622)
        c6e6597c4 spirv-fuzz: Implement the OpOuterProduct linear algebra case (#3617)
        054f034ea spirv-fuzz: Compute corollary facts from OpBitcast (#3538)
        a1ea15c90 Update some language usage. (#3611)
        863b8e3d3 spirv-fuzz: Relax type constraints in DataSynonym facts (#3602)
        7e75fea9e spirv-fuzz: Remove non-deterministic behaviour (#3608)
        f9b088fe0 Avoid use of 'sanity' and 'sanity check' in the code base (#3585)
        150be20d4 spirv-fuzz: Add condition to make functions livesafe (#3587)
        ce16ccf38 Rolling 4 dependencies (#3601)
        1dfc6fc7e spirv-fuzz: Implement the OpTranspose linear algebra case (#3589)
        b63f0e5ed Fix SyntaxWarning in Python 3.8 (#3388)
        6aed7ffbc CMake: Enable building with BUILD_SHARED_LIBS=1 (#3490)
        31c821393 Avoid operand type range checks (#3379)
        6a3eb679b Preserve debug info in scalar replacement pass (#3461)
        2796840d2 Update OpenCL capabilities validation (#3149)
        b25ee93c2 build(deps): bump lodash from 4.17.15 to 4.17.19 in /tools/sva (#3596)
    
    Commands:
        ./third_party/update-spirvtools.sh
    
    Bug: b/123642959
    Change-Id: Idde3643775d090b11dcb37ec2b3bd5a93c5e56fc
    fd4ad841
folding_rules.cpp 93.7 KB
EditWeb IDE
×

Replace folding_rules.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.