Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-06-23 | Add a virtual clone() method to ir_instruction. | Eric Anholt | |
This will be used by function inlining, the linker, and avoiding double usage of the LHS deref chains in ++, *=, and similar operations. | |||
2010-06-22 | ir_validate: New pass for checking our invariants. | Eric Anholt | |
2010-06-21 | Add glcpp to the build. | Kenneth Graunke | |
2010-06-19 | Link against talloc. We're going to be using it. | Kenneth Graunke | |
2010-06-17 | linker: Initial bits of the linker | Ian Romanick | |
No linking is done yet, but some of the semantic checking is done. | |||
2010-06-14 | Move stand-alone compiler main routine to main.cpp | Ian Romanick | |
2010-06-02 | Remove some cruft from the Makefile | Ian Romanick | |
This was affecting the build, but the files don't actually exist. | |||
2010-06-01 | ir_constant_variable: New pass to mark constant-assigned variables constant. | Eric Anholt | |
This removes a bunch of gratuitous moving around of constant values from constructors. Makes a shader ir I was looking at for structure handling almost readable. | |||
2010-06-01 | ir_swizzle_swizzle: Reduce swizzle chains to a single swizzle. | Eric Anholt | |
2010-06-01 | ir_vec_index_to_swizzle: Pass to convert indexing of vectors to swizzles. | Eric Anholt | |
This should remove the burden of handling constant vector indexing well from backend codegen, and could help with swizzle optimizations. | |||
2010-05-17 | ir_visit_tree is no longer used, remove ir_visit_tree.{cpp,h} | Ian Romanick | |
2010-05-17 | Add ir_hierarchical_visitor base class and associated infrastructure | Ian Romanick | |
This type of visitor should eventually replace all or almost all current uses of ir_visitor. | |||
2010-05-14 | Integrate generate_builtins.pl into the build process. | Kenneth Graunke | |
make will now regenerate builtin_function.cpp whenever you change/add/remove files in the builtins/* folders. | |||
2010-05-05 | ir_dead_code_local: Remove redundant assignments within basic blocks. | Eric Anholt | |
This cleans up a bunch of junk code in some of the GLSL parser tests, and could potentially help real-world too (particularly after copy propagation has happened). | |||
2010-05-04 | ir_copy_propagation: New pass to rewrite dereferences to avoid copies. | Eric Anholt | |
This is pretty basic. Right now it only handles pure assignments -- same type on each side, no swizzling, and only within basic blocks. | |||
2010-04-28 | Add stub ir_reader and new 'i' mode for reading IR rather than GLSL. | Kenneth Graunke | |
2010-04-28 | Add a simple S-Expression reader and printer. | Kenneth Graunke | |
2010-04-23 | ir_function_inlining: Implement inlining in many more cases. | Eric Anholt | |
We still don't inline for control flow in the inlined function, and we don't have any limits on what we will inline. | |||
2010-04-23 | Replace builtin_types.h generation with the generated output. | Eric Anholt | |
The script to generate it was longer and more obfuscated than the output. | |||
2010-04-19 | Remove dead code assignments and variable declarations. | Eric Anholt | |
This pass only works on assignments where the variable is never referenced. There is no code flow analysis, so it can't do a better job of avoiding redundant assignments. For now, the optimizer only does do_dead_code_unlinked(), so it won't trim the builtin variable list or initializers outside of the scope of functions. This is because we don't have the visibility into other functions that might get linked in in order to eliminate work on global variables. | |||
2010-04-16 | Add support for inlining calls done inside of expressions. | Eric Anholt | |
2010-04-14 | Add an ir_if simplification pass. | Eric Anholt | |
This is relatively simple at the moment, recognizing only constant values, and not (for example) values that are restricted to a range that make the branching constant. However, it does remove 59 lines from the printout of CorrectParse2.vert. | |||
2010-04-08 | Inline functions consisting of a return of an expression. | Eric Anholt | |
2010-04-06 | Add a constant folding optimization pass. | Eric Anholt | |
2010-03-30 | Initial bits of constant expression evaluator | Ian Romanick | |
Currently only works for constants. The rest will be added later. | |||
2010-03-29 | Implement the first builtin function: exp(). | Eric Anholt | |
2010-03-23 | Include other generated sources in BUILT_SOURCES. | Eric Anholt | |
Otherwise, having cleaned glsl_parser.h, we'd never regenerate it because glsl_parser.cpp was already right where it needed to be. | |||
2010-03-23 | Use bash for the built file generation since builtin_types.sh requires it. | Eric Anholt | |
2010-03-23 | Clean the built sources with make clean. | Eric Anholt | |
2010-03-15 | Factor ast_type_specifier code out to ast_type.cpp | Ian Romanick | |
2010-03-15 | Move ast_function_expression::hir to ast_function.cpp | Ian Romanick | |
2010-03-11 | Initial pass at resolving function calls | Ian Romanick | |
The code is still really rough and *REALLY* incomplete. This at least passes the first few trivially simple test cases. | |||
2010-03-10 | IR variable: Initial work to support GLSL built-in variables | Ian Romanick | |
2010-03-09 | IR visitor: Add initial version of ir_visitor classes | Ian Romanick | |
The ir_visitor class is the abstract base class for all visitors. ir_print_visitor contains the beginnings of a concrete visitor class that will print out an IR sequence in a Lisp / Scheme-like syntax. | |||
2010-03-09 | Make glsl_type a class | Ian Romanick | |
Among other benefits, this cleans up a the hackery invovled in initializing the union field in builtin_types.h. | |||
2010-03-01 | Make AST->HIR conversion a method of ast_node, re-enable | Ian Romanick | |
2010-02-25 | autoconf for the ... | Ian Romanick | |