summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2010-06-24ir_to_mesa: Remove the BURG code.Eric Anholt
The promise of the BURG was to recognize multi-instruction sequences and emit reduced sequences for them. It would have worked well for recognizing MUL+ADD -> MAD and possibly even MIN(MAX(val, 0), 1) -> MOV_SAT with some grammar changes. However, that potential benefit in making those optimizations easy is outweighed by the fragility of monoburg, the amount of (incorrect, as I wrote it) code for using it, and the burden it was going to cause for handling operations on aggregate types.
2010-06-24ir_to_mesa: Print out the resulting program.Eric Anholt
2010-06-24Add missing dist file.Eric Anholt
2010-06-24ir_to_mesa: Start building GLSL IR to Mesa IR conversion.Eric Anholt
There are major missing pieces here. Most operations aren't supported. Matrices need to be broken down to vector ops before we get here. Scalar operations (RSQ, RCP) are handled incorrectly. Arrays and structures are not even considered.
2010-06-23Add 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-22ir_validate: New pass for checking our invariants.Eric Anholt
2010-06-21Add glcpp to the build.Kenneth Graunke
2010-06-19Link against talloc. We're going to be using it.Kenneth Graunke
2010-06-17linker: Initial bits of the linkerIan Romanick
No linking is done yet, but some of the semantic checking is done.
2010-06-14Move stand-alone compiler main routine to main.cppIan Romanick
2010-06-02Remove some cruft from the MakefileIan Romanick
This was affecting the build, but the files don't actually exist.
2010-06-01ir_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-01ir_swizzle_swizzle: Reduce swizzle chains to a single swizzle.Eric Anholt
2010-06-01ir_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-17ir_visit_tree is no longer used, remove ir_visit_tree.{cpp,h}Ian Romanick
2010-05-17Add ir_hierarchical_visitor base class and associated infrastructureIan Romanick
This type of visitor should eventually replace all or almost all current uses of ir_visitor.
2010-05-14Integrate 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-05ir_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-04ir_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-28Add stub ir_reader and new 'i' mode for reading IR rather than GLSL.Kenneth Graunke
2010-04-28Add a simple S-Expression reader and printer.Kenneth Graunke
2010-04-23ir_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-23Replace 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-19Remove 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-16Add support for inlining calls done inside of expressions.Eric Anholt
2010-04-14Add 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-08Inline functions consisting of a return of an expression.Eric Anholt
2010-04-06Add a constant folding optimization pass.Eric Anholt
2010-03-30Initial bits of constant expression evaluatorIan Romanick
Currently only works for constants. The rest will be added later.
2010-03-29Implement the first builtin function: exp().Eric Anholt
2010-03-23Include 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-23Use bash for the built file generation since builtin_types.sh requires it.Eric Anholt
2010-03-23Clean the built sources with make clean.Eric Anholt
2010-03-15Factor ast_type_specifier code out to ast_type.cppIan Romanick
2010-03-15Move ast_function_expression::hir to ast_function.cppIan Romanick
2010-03-11Initial pass at resolving function callsIan Romanick
The code is still really rough and *REALLY* incomplete. This at least passes the first few trivially simple test cases.
2010-03-10IR variable: Initial work to support GLSL built-in variablesIan Romanick
2010-03-09IR visitor: Add initial version of ir_visitor classesIan 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-09Make glsl_type a classIan Romanick
Among other benefits, this cleans up a the hackery invovled in initializing the union field in builtin_types.h.
2010-03-01Make AST->HIR conversion a method of ast_node, re-enableIan Romanick
2010-02-25autoconf for the ...Ian Romanick