summaryrefslogtreecommitdiff
path: root/source/opt
AgeCommit message (Expand)AuthorFilesLines
2018-03-13Fixes #1407. Removing assertion against void pointerAlan Baker1-3/+1
2018-03-13Fixes #1404. Don't DCE workgroup sizeAlan Baker2-2/+13
2018-03-12Fix InsertFeedingExtract rule when extract remains.Greg Fischer1-1/+1
2018-03-12Reimplement the DecorationManagerPierre Moreau5-203/+285
2018-03-08Remove extension whitelist from some transformsDavid Neto8-236/+1
2018-03-08Add missing SPV extension stringsRex Xu10-0/+60
2018-03-07Fixes #1385. Grab correct input to calculate indices.Alan Baker1-1/+1
2018-03-06Fixes #1376. Don't handle half folding gracefully.Alan Baker1-2/+6
2018-03-05Support SPV_GOOGLE_decorate_string and SPV_GOOGLE_hlsl_functionality1David Neto1-1/+2
2018-03-05Avoid generating duplicate names when merging typesSteven Perron1-0/+1
2018-03-02Handles more cases of redundant selectsAlan Baker1-11/+51
2018-03-01Fixes #1361. Mark all non-constant global values as varying in CCPAlan Baker1-2/+17
2018-02-28Fixes #1357. Support null constants better in foldingAlan Baker2-21/+62
2018-02-28Opt: Add constant folding for FToI and IToFGregF1-28/+150
2018-02-28Fixes #1354. Do not merge integer division.Alan Baker1-57/+19
2018-02-27Add more folding rules for vector shuffle.Steven Perron2-0/+104
2018-02-27Remove Function::GetBlocks pushed by accidentVictor Lomuller1-5/+0
2018-02-27Remove uses DCEInst and call ADCESteven Perron8-147/+39
2018-02-27Consistently include latest spirv.h header file.David Neto1-1/+1
2018-02-27Merge arithmetic with non-trivial constant operandsAlan Baker5-67/+1381
2018-02-27Add loop unswitch pass.Victor Lomuller18-22/+1379
2018-02-27Unroller support for multiple induction variablesStephen McGroarty7-168/+460
2018-02-22Clean up variables before sroaSteven Perron1-0/+5
2018-02-22Preserve analysies in the simplification passSteven Perron2-2/+9
2018-02-22Opt: Check for side-effects in DCEInst()GregF2-2/+31
2018-02-21Fixes #1338. Handle OpConstantNull in branch/switch conditionsAlan Baker1-5/+19
2018-02-21Reduce instruction create and deletion during inlining.Steven Perron1-5/+8
2018-02-21Add Insert-extract elimination back into legalization passes.Steven Perron1-0/+1
2018-02-20Add folding for redundant add/sub/mul/div/mix operationsArseny Kapoulkine8-19/+248
2018-02-20Revert "Preserve analysies in the simplification pass"Steven Perron1-8/+0
2018-02-20Preserve analysies in the simplification passSteven Perron1-0/+8
2018-02-20Speed up Phi insertion.Diego Novillo2-61/+91
2018-02-20Fix folding insert feeding extractSteven Perron1-3/+3
2018-02-18Fixes #1300. Adding checks for bad CCP transitions and unsettled valuesAlan Baker3-25/+82
2018-02-16Make better use of simplification passSteven Perron1-2/+6
2018-02-16Add constant folding rules for floating-point comparisonArseny Kapoulkine1-39/+140
2018-02-16Remove constants from constant manager in KillInstArseny Kapoulkine3-1/+15
2018-02-16Simplify OpPhi instructions referencing unreachable continuesSteven Perron1-3/+9
2018-02-16Get CCP to use the constant floating point rules.Steven Perron4-9/+23
2018-02-15Avoid using static unordered_map (#1304)Lei Zhang1-1/+1
2018-02-15Add folding of redundant OpSelect insnsArseny Kapoulkine1-0/+34
2018-02-14Add id to name mapSteven Perron6-29/+94
2018-02-14Fold binary floating point operators.Steven Perron4-17/+210
2018-02-14Initial support for loop unrolling.Stephen McGroarty10-25/+1558
2018-02-14Fixes #1295. Mark undef values as varying in ccp.Alan Baker1-4/+6
2018-02-12Cleanup. Use proper #include guard. NFC.Diego Novillo1-3/+3
2018-02-12Avoid using the def-use manager during inlining.Steven Perron1-3/+2
2018-02-09Fix spirv.h include to rely on include pathsArseny Kapoulkine1-1/+1
2018-02-09Add folding of OpCompositeExtract and OpConstantComposite constant instructions.Steven Perron10-22/+249
2018-02-08Add header files missing from CMakeLists.txtSteven Perron1-0/+3