Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-05-10 | exec_list: Add foreach_list_typed and foreach_list_typed_const | Ian Romanick | |
These variations are parameterized by the type of the nodes in the list. This enables skipping the explicit usage of exec_node_data in the loop body. | |||
2010-05-10 | Convert ast_node use of simple_node to exec_list and exec_node | Ian Romanick | |
2010-05-10 | exec_list: Add simpler exec_list for-each macros | Ian Romanick | |
2010-05-10 | exec_list: Add macros to get ptr to structure containing a node | Ian Romanick | |
This has some ugly hackery to work-around C++ fail. I have emperically determined that it works in all the cases that matter. | |||
2010-05-10 | Loop bodies, then-statements, and else-statements are not lists | Ian Romanick | |
The statement making up a loop body, a then-statement, or an else-statement are single nodes. If the statement is a block, the single node will be an ast_compound_statement. There is no need to loop at the top level when processing these statements. | |||
2010-05-10 | Remove unnecessary include of simple_list.h | Ian Romanick | |
2010-05-10 | Store AST function call parameters in expressions | Ian Romanick | |
Previously the list of function call parameters was stored as a circular list in ast_expression::subexpressions[1]. They are now stored as a regular list in ast_expression::expressions. | |||
2010-05-05 | Move optimization pass prototypes to a single header. | Eric Anholt | |
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-05 | ir_visit_tree: Make sure we visit dereference targets, too. | Eric Anholt | |
Found this with the local dead code pass, which never saw variable dereferences occurring. | |||
2010-05-05 | ir_copy_propagation: Fix up the doxygen about the file. | Eric Anholt | |
2010-05-05 | ir_copy_propagation: Return true if we optimized out any assignments. | Eric Anholt | |
This may trigger other optimization phases to make more progress themselves. | |||
2010-05-05 | ir_copy_propagation: Handle swizzles and array derefs on LHS of assign. | Eric Anholt | |
This improves the ACP to not get cleared when more complicated assignments occur, cleaning up more redundant copies in programs. | |||
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-05-03 | ir_to_mesa.cpp: Fix missing types on some ir_swizzles. | Eric Anholt | |
Debugging this took forever as I only looked at constructors in ir.cpp to find who wasn't setting up ->type. I dislike hiding code (as opposed to prototypes and definitions) in C++ header files, but in this case I have only myself to blame. | |||
2010-05-03 | Remove the pedantic C junk. | Eric Anholt | |
Mesa doesn't use pedantic ANSI C89, so I have no idea why we would. | |||
2010-05-03 | Store warnings and errors in a parser state infolog. | Eric Anholt | |
Cleans up compile warning about unused state in _mesa_glsl_warning. We would want infolog handling roughly like this anyway. | |||
2010-05-03 | Quiet warnings about ir_shader not being handled in places it's not needed. | Eric Anholt | |
2010-05-03 | Use the AM_SILENT_RULES when available. | Eric Anholt | |
2010-05-03 | glsl_lexer: Quiet warning about unused unput(). | Eric Anholt | |
2010-05-03 | Merge branch 'fixes' | Ian Romanick | |
2010-05-01 | Use %p rather than %08x when printing pointers to fix compile. | Kenneth Graunke | |
2010-05-01 | Fix ir_return cloning to actually use the cloned subexpression. | Kenneth Graunke | |
This caused a nasty bug where the function inliner would create new variables for each of the formal parameters, but the body would still reference the old copies. This was highly visible since the dead code eliminator (rightly) removed the new declarations, leading to printed IR that referenced non-existent variable names. | |||
2010-04-30 | Fix incorrect comments in function inliner. | Kenneth Graunke | |
2010-04-29 | ir_dead_code: Fix segfault on handling a return statement with no value. | Eric Anholt | |
2010-04-28 | Track and print user defined structure types | Ian Romanick | |
2010-04-28 | IR print visitor: Move logic for printing the whole program to _mesa_print_ir | Ian Romanick | |
2010-04-28 | IR print visitor: Just print the name of structures | Ian Romanick | |
Treat structure types like other non-array types. We'll have to print the structure defintion elsewhere. | |||
2010-04-28 | ir_function_inlining: Handle inlining of structure dereferences. | Eric Anholt | |
2010-04-28 | Correctly handle remapping of array dereferences if ->var is a variable. | Eric Anholt | |
2010-04-28 | Begin handling some varieties of invalid declarations | Ian Romanick | |
2010-04-28 | Reject conflicting struct declarations, generate struct constructor | Ian Romanick | |
2010-04-28 | glsl_type::generate_constructor_prototype now generates the function too | Ian Romanick | |
Also, change the name of the method to generate_constructor. | |||
2010-04-28 | Always return a value from ast_type_specifier::hir | Ian Romanick | |
2010-04-28 | Support structures in glsl_type::generate_constructor_prototype | Ian Romanick | |
2010-04-28 | Implement structures and arrays in ir_dereference::is_lvalue | Ian Romanick | |
2010-04-28 | Ensure that structure fields have non-NULL types | Ian Romanick | |
2010-04-28 | Ensure that anonymous structures have non-NULL names | Ian Romanick | |
2010-04-28 | Convert structure field dereferences to HIR | Ian Romanick | |
2010-04-28 | Add ir_dereference constructor for structure field dereferences | Ian Romanick | |
2010-04-28 | Add glsl_type::field_type | Ian Romanick | |
Query the type of a structure field | |||
2010-04-28 | Begin converting structure definitions to IR | Ian Romanick | |
2010-04-28 | Use IDENTIFIER instead of TYPE_NAME for structure names | Ian Romanick | |
Since there is no track of which names are structure names during parsing, TYPE_NAME cannot be produced by the lexer. Use IDENTIFIER and let the AST processor sort it out. | |||
2010-04-28 | ir_reader: Slightly better error message when failing to read swizzles. | Kenneth Graunke | |
2010-04-28 | ir_reader: Don't print out the S-Expression. | Kenneth Graunke | |
It's no longer useful for debugging. | |||
2010-04-28 | ir_reader: Read function calls. | Kenneth Graunke | |
2010-04-28 | ir_reader: Replace function prototypes with the definition. | Kenneth Graunke | |
Previously, we just created a new one, which was wrong. | |||
2010-04-28 | ir_reader: Fix incorrect error message for expressions. | Kenneth Graunke | |
2010-04-28 | Make ir_read_error print out the given S-Expression, for context. | Kenneth Graunke | |
2010-04-28 | ir_reader: Fix for swizzles. | Kenneth Graunke | |