David Neto
dbc2049aa3
Add SPIR-V 1.2 support, for OpenCL 2.2
2017-05-15 17:10:07 -04:00
Greg Fischer
bba812f4e4
Inline: Inline early return function if no returns in loop.
2017-05-12 17:18:00 -04:00
Greg Fischer
04fcc66743
Add exhaustive function call inlining to spirv-opt
...
Inlining is done for all functions designated as entry points.
Add optional validation to test fixture method SinglePassRunAndCheck.
2017-03-29 18:02:40 -04:00
David Neto
9fc8658ef3
Relicense SPIRV-Tools under Apache 2.0
...
Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/383
Finalize v2016.4
2016-09-02 10:00:29 -04:00
Lei Zhang
b1b2cac2cf
Create const overloads for begin() and end() in Instruction.
2016-08-26 21:58:49 -04:00
David Neto
53013cc816
Add Instruction begin and end mutable iterators
...
Refactored the instuction test.
2016-08-25 17:48:58 -04:00
David Neto
2607bbf30b
Add Instruction cbegin and cend to access operands
2016-08-25 15:24:32 -04:00
David Neto
97fc6aa3b8
ForEachInst optionally runs on attached debug line insts
...
Also:
- Add const forms of ForEachInst
- Rewrite Module::ToBinary in terms of ForEachInst
- Add Instruction::ToBinaryWithoutAttachedDebugInsts
- Delete the ToBinary method on Function, BasicBlock, and Instruction
since it can now be implemented with ForEachInst in a less confusing
way, e.g. without recursion.
- Preserve debug line instructions on OpFunctionEnd (and store that
instruction as a unique-pointer, for regularity).
2016-08-25 11:43:22 -04:00
qining
e8b7c7b210
Replace the SetOperand() with SetInOperand() and SetResultType()
2016-08-16 15:05:07 -04:00
qining
c814911904
Add another construtor for opt::ir::Instruction
2016-08-13 11:17:11 -04:00
Lei Zhang
485f513a29
Manually create move the constructor/assignment for Instruction.
...
This is because some old visual studio versions (e.g., 2013) do
not support automatically generating move constructors/assignments.
2016-08-09 19:27:13 -04:00
Lei Zhang
1db4cb456b
Use default copy/move constructors/assignments for Instruction.
2016-07-29 00:58:09 -04:00
qining
a24506266b
Freeze spec constants to their default values
...
Add a pass to freeze spec constants to their default values. This pass does
not fold the frozen spec constants and does not handle SpecConstantOp
instructions and SpecConstantComposite instructions.
2016-07-28 15:23:30 -04:00
Lei Zhang
abf8f6413c
Promote ir namespace and create draft libspirv.{h|c}pp.
2016-06-28 14:52:34 -04:00
Lei Zhang
3df8f7cebd
Add classes for representing SPIR-V language constructs in memory.
2016-06-24 20:54:06 -04:00