Age | Commit message (Expand) | Author | Files | Lines |
2021-04-20 | Merge branches misc, cmp-pow2, optim-and-cmp, cmp-and-or and optim-cast-eval ... | Luc Van Oostenryck | 1 | -0/+5 |
2021-04-18 | add helper is_positive() | Luc Van Oostenryck | 1 | -0/+5 |
2021-04-18 | Merge branches 'fix-phisrc' and 'insert-last-insn' into memops-prep | Luc Van Oostenryck | 1 | -1/+8 |
2021-03-21 | add insert_last_instruction() | Luc Van Oostenryck | 1 | -0/+8 |
2021-03-19 | move insert_branch() to flow.c | Luc Van Oostenryck | 1 | -1/+0 |
2021-03-19 | remove insert_branch() redundant arg | Luc Van Oostenryck | 1 | -1/+1 |
2021-03-09 | ssa: fix conversion with mismatched size or offset | Luc Van Oostenryck | 1 | -1/+1 |
2021-03-08 | Merge branch 'uniq-phinode' | Luc Van Oostenryck | 1 | -1/+7 |
2021-03-08 | phi-sources can only have a single user (or none) | Luc Van Oostenryck | 1 | -1/+7 |
2021-03-05 | Merge branch 'slice' | Luc Van Oostenryck | 1 | -4/+1 |
2021-02-28 | slice: OP_SLICE needs the source's type: make it a kind of unop | Luc Van Oostenryck | 1 | -4/+1 |
2021-02-28 | slice: remove unneeded len from OP_SLICE | Luc Van Oostenryck | 1 | -1/+1 |
2021-02-28 | linearize.h: fix some 'selfcheck' warnings | Ramsay Jones | 1 | -2/+2 |
2021-02-21 | asm-mem: does it output to memory? | Luc Van Oostenryck | 1 | -0/+1 |
2021-02-21 | asm-mem: does it clobber memory? | Luc Van Oostenryck | 1 | -0/+1 |
2020-12-31 | Merge branches 'fix-rem-usage', 'ptrlist-no-mix' and 'diet-bb' into next | Luc Van Oostenryck | 1 | -7/+5 |
2020-12-29 | add helper has_definition() | Luc Van Oostenryck | 1 | -0/+5 |
2020-12-27 | shrink struct BB | Luc Van Oostenryck | 1 | -7/+5 |
2020-11-22 | canon: simplify calculation of canonical order | Luc Van Oostenryck | 1 | -2/+2 |
2020-11-12 | linearize: fix a couple of 'selfcheck' warnings | Ramsay Jones | 1 | -0/+2 |
2020-11-01 | eval_insn: give an explicit type to compare's operands | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-27 | Merge branch 'one_use' | Luc Van Oostenryck | 1 | -2/+2 |
2020-10-27 | replace nbr_users() & multi_users() by one_use() | Luc Van Oostenryck | 1 | -2/+2 |
2020-10-22 | memops need long offsets | Luc Van Oostenryck | 1 | -1/+1 |
2019-09-27 | asm: fix liveness memory operand | Luc Van Oostenryck | 1 | -0/+1 |
2018-09-06 | Merge branch 'rem-trivial-phi' into tip | Luc Van Oostenryck | 1 | -0/+8 |
2018-09-01 | Merge branch 'dead-switch' into tip | Luc Van Oostenryck | 1 | -0/+6 |
2018-09-01 | move DEF_OPCODE() to header file | Luc Van Oostenryck | 1 | -0/+8 |
2018-09-01 | ir-validate: add validation branch to dead BB | Luc Van Oostenryck | 1 | -0/+6 |
2018-08-31 | Merge branch 'opcode' into tip | Luc Van Oostenryck | 1 | -119/+0 |
2018-08-26 | opcode: centralize opcode definition | Luc Van Oostenryck | 1 | -116/+0 |
2018-08-25 | add a flag for volatile memops | Luc Van Oostenryck | 1 | -0/+1 |
2018-08-25 | split memops from unops | Luc Van Oostenryck | 1 | -1/+4 |
2018-08-25 | symaddr: s/insn->symbol/insn->src/ | Luc Van Oostenryck | 1 | -3/+0 |
2018-08-25 | Merge branch 'ssa' into tip | Luc Van Oostenryck | 1 | -2/+19 |
2018-08-04 | Merge branch 'list-optims' (early part) into tip | Luc Van Oostenryck | 1 | -1/+16 |
2018-07-25 | add lookup_ptr_list_entry() | Luc Van Oostenryck | 1 | -0/+5 |
2018-07-25 | add ptr_list_multiple() | Luc Van Oostenryck | 1 | -0/+5 |
2018-07-25 | add ptr_list_empty() | Luc Van Oostenryck | 1 | -1/+6 |
2018-07-23 | extract nbr_users() from unssa.c | Luc Van Oostenryck | 1 | -0/+5 |
2018-07-01 | ssa: phi worklist | Luc Van Oostenryck | 1 | -0/+1 |
2018-07-01 | ssa: phase 1: phi-nodes placement | Luc Van Oostenryck | 1 | -0/+4 |
2018-07-01 | add insert_phi_node() | Luc Van Oostenryck | 1 | -0/+3 |
2018-07-01 | add PSEUDO_UNDEF & undef_pseudo() | Luc Van Oostenryck | 1 | -1/+3 |
2018-07-01 | dom: calculate the dominance tree | Luc Van Oostenryck | 1 | -0/+4 |
2018-07-01 | graph: build the CFG reverse postorder traversal | Luc Van Oostenryck | 1 | -1/+4 |
2018-06-28 | bool: remove OP_{AND,OR}_BOOL instructions | Luc Van Oostenryck | 1 | -3/+1 |
2018-06-23 | cast: specialize integer casts | Luc Van Oostenryck | 1 | -2/+2 |
2018-06-23 | cast: specialize cast from pointers | Luc Van Oostenryck | 1 | -0/+1 |
2018-06-23 | cast: specialize casts from unsigned to pointers | Luc Van Oostenryck | 1 | -0/+1 |
2018-06-23 | cast: specialize floats to integer conversion | Luc Van Oostenryck | 1 | -0/+1 |
2018-06-23 | cast: specialize FPCAST into [USF]CVTF | Luc Van Oostenryck | 1 | -1/+2 |
2018-06-23 | ir: define an OP_... range for unops | Luc Van Oostenryck | 1 | -5/+9 |
2018-05-06 | OP_SYMADDR is simply an unop | Luc Van Oostenryck | 1 | -1/+3 |
2018-03-18 | extract alloc_phisrc() from alloc_phi() | Luc Van Oostenryck | 1 | -0/+2 |
2018-03-18 | show_label: add (and use) show_label() | Luc Van Oostenryck | 1 | -0/+1 |
2018-03-17 | add an helper to test the value of a pseudo against zero | Luc Van Oostenryck | 1 | -0/+11 |
2018-03-11 | add a field 'tainted' to struct instruction | Luc Van Oostenryck | 1 | -1/+2 |
2018-03-01 | IR: let .cond unionize with .src and not .target | Luc Van Oostenryck | 1 | -4/+3 |
2018-03-01 | IR: remove never-generated instructions | Luc Van Oostenryck | 1 | -9/+1 |
2018-03-01 | IR: remove now unused OP_LNOP & OP_SNOP | Luc Van Oostenryck | 1 | -2/+0 |
2018-02-20 | no need for signed & unsigned multiplication | Luc Van Oostenryck | 1 | -1/+1 |
2018-02-16 | cleanup: remove unused 'struct pseudo_ptr_list' | Luc Van Oostenryck | 1 | -6/+0 |
2018-02-13 | add helper: has_users() | Luc Van Oostenryck | 1 | -0/+5 |
2018-02-13 | add helper for pseudo's user-list's size | Luc Van Oostenryck | 1 | -0/+5 |
2018-01-08 | add OP_SETFVAL | Luc Van Oostenryck | 1 | -0/+4 |
2017-11-18 | add support of floating-point specific arithmetic ops | Luc Van Oostenryck | 1 | -0/+7 |
2017-11-18 | fix support of floating-point compare | Luc Van Oostenryck | 1 | -0/+18 |
2017-11-17 | add support for wider type in switch-case | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-16 | give a type to OP_PHISOURCEs | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-16 | give a type to all function arguments | Luc Van Oostenryck | 1 | -1/+1 |
2017-11-16 | add table to "negate" some opcode | Luc Van Oostenryck | 1 | -0/+3 |
2017-11-11 | fix description setval & symaddr | Luc Van Oostenryck | 1 | -1/+1 |
2017-03-06 | remove unused helper is_branch_goto() | Luc Van Oostenryck | 1 | -4/+0 |
2017-03-06 | split OP_BR between unconditional & conditional: OP_CBR | Luc Van Oostenryck | 1 | -0/+1 |
2017-02-13 | remove unused field 'multijump' in struct instruction | Luc Van Oostenryck | 1 | -3/+0 |
2017-02-13 | give comparable label's names to basic blocks | Luc Van Oostenryck | 1 | -1/+4 |
2012-02-04 | sparse, llvm: Make function declaration accessible to backend | Linus Torvalds | 1 | -0/+1 |
2011-08-27 | sparse, llvm: if-else code generation | Jeff Garzik | 1 | -0/+1 |
2011-08-25 | sparse, llvm: Implement OP_ADD | Pekka Enberg | 1 | -0/+1 |
2009-07-29 | linearize.h: sanitize header | Kamil Dudka | 1 | -1/+1 |
2008-12-24 | Revert the context tracking code | Johannes Berg | 1 | -4/+3 |
2008-12-18 | Add type information to struct instruction. | David Given | 1 | -0/+1 |
2008-04-24 | fix bug in context tracking code | Johannes Berg | 1 | -1/+3 |
2008-04-21 | sparse: simple conditional context tracking | Johannes Berg | 1 | -2/+1 |
2008-04-21 | make sparse keep its promise about context tracking | Johannes Berg | 1 | -1/+1 |
2007-04-20 | linearize: DECLARE_ALLOCATOR for asm_constraint and asm_rules | Josh Triplett | 1 | -0/+3 |
2007-03-02 | Add annotation for inline function call. | Christopher Li | 1 | -0/+1 |
2007-01-27 | Add missing #include "allocate.h" in linearize.h for DECLARE_ALLOCATOR. | Josh Triplett | 1 | -0/+1 |
2007-01-27 | Coding style fix: in a pointer type, * goes with the name, not the type. | Josh Triplett | 1 | -1/+1 |
2007-01-16 | Add instruction to pseudo user tracking. | Christopher Li | 1 | -3/+25 |
2007-01-16 | Change the symbol access list to a pseudo list | Christopher Li | 1 | -1/+1 |
2006-09-14 | bb_terminated: Use boundary values rather than specific opcodes | Josh Triplett | 1 | -1/+2 |
2006-08-30 | [PATCH] Parse and track multiple contexts by expression | Josh Triplett | 1 | -0/+1 |
2006-07-08 | Fix dropped type information in "add_pseudo()". | Linus Torvalds | 1 | -1/+1 |
2005-11-21 | [PATCH] Add a function to translate the SSA form back to normal form. | Luc Van Oostenryck | 1 | -0/+1 |
2005-11-21 | [PATCH] Add a new opcode: OP_COPY. | Luc Van Oostenryck | 1 | -0/+3 |
2005-04-07 | Add support for context checking functions. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Make each instruction have a position of its own. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add compile-time "range-check" infrastructure to sparse | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Split OP_CAST into signed, unsigned and FP casts. | Linus Torvalds | 1 | -0/+2 |
2005-04-07 | Split the binops where signedness matters into unsigned and signed. | Linus Torvalds | 1 | -4/+4 |
2005-04-07 | Split OP_SETVAL into OP_SETVAL (fp expressions and labels) and OP_SYMADDR | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Save off the asm parameter name too. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Make asm linearization not drop the constraints. | Linus Torvalds | 1 | -2/+14 |
2005-04-07 | Add the argument pseudos to the "enter" instruction | Linus Torvalds | 1 | -0/+3 |
2005-04-07 | Make "remove_pseudo()" return whether it removed a pseudo from | Linus Torvalds | 1 | -2/+2 |
2005-04-07 | Make pretty helper functions for showing individual instructions | Linus Torvalds | 1 | -1/+1 |
2005-04-07 | Move remove_pseudo() to linearize.h | Linus Torvalds | 1 | -0/+4 |
2005-04-07 | Expose "show_instruction()" for debugging. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Expose "show_bb()" for debugging, and make it do more appropriate | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Make OP_PHISOURCE track the OP_PHI instructions that it defines. | Linus Torvalds | 1 | -0/+4 |
2005-04-07 | Linearize inline asm statements | Linus Torvalds | 1 | -0/+6 |
2005-04-07 | Make the "entrypoint" be a special OP_ENTRY instruction instead of | Linus Torvalds | 1 | -1/+5 |
2005-04-07 | Expose "show_pseudo()" to the world. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add pseudo death-note tracking. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Remove OP_SETCC, make OP_SEL bigger instead. | Linus Torvalds | 1 | -4/+3 |
2005-04-07 | Simplify trivial casts (and handle pointers specially). | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Associate pseudos with the symbol name whose value they got. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Start tracking cross-basic-block pseudo usage. | Linus Torvalds | 1 | -2/+1 |
2005-04-07 | Start using instruction sizes properly. | Linus Torvalds | 1 | -3/+3 |
2005-04-07 | Add entrypoint pointer to each bb. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Make list-ptr remove/replace take a count. | Linus Torvalds | 1 | -5/+5 |
2005-04-07 | Be a lot more careful when re-writing branches. | Linus Torvalds | 1 | -0/+6 |
2005-04-07 | Kill long-dead pseudo-reuse code. | Linus Torvalds | 1 | -2/+1 |
2005-04-07 | Add a final pseudo usage tracking phase, which keeps | Linus Torvalds | 1 | -0/+2 |
2005-04-07 | Who says you can't do type-safe function-overloading in C? | Linus Torvalds | 1 | -5/+5 |
2005-04-07 | Add some type-safety features to the list pointer operations. | Linus Torvalds | 1 | -1/+1 |
2005-04-07 | Clean up the tests for "pseudo has use list", since add/remove | Linus Torvalds | 1 | -1/+6 |
2005-04-07 | Do early CSE before even doing the symbol simplification. | Linus Torvalds | 1 | -2/+2 |
2005-04-07 | Use cleaned-up ptr list removal for removing basic blocks | Linus Torvalds | 1 | -0/+5 |
2005-04-07 | Simplify constant "conditional" branches and OP_SETCC/OP_SEL instructions. | Linus Torvalds | 1 | -1/+1 |
2005-04-07 | Clean up rewriting a switch into a branch. | Linus Torvalds | 1 | -1/+1 |
2005-04-07 | Make phi pseudos be a type of their own. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Fix up various pseudo usage list issues: | Linus Torvalds | 1 | -2/+3 |
2005-04-07 | Oops. Forgot to add usage of a dominator list pseudo. | Linus Torvalds | 1 | -0/+12 |
2005-04-07 | Remove "struct phi", replace with instruction that generates a pseudo. | Linus Torvalds | 1 | -13/+3 |
2005-04-07 | Do if-conversion. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Make CSE convert instructions to OP_NOP | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Move flow analysis out of "linearize.c" and into new "flow.c" | Linus Torvalds | 1 | -0/+4 |
2005-04-07 | Simplify switches on compile-time constant values. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Do some initial basic block packing and remove BB_REACHABLE flag. | Linus Torvalds | 1 | -9/+1 |
2005-04-07 | Remove OP_MOV and copy_pseudo. | Linus Torvalds | 1 | -1/+0 |
2005-04-07 | Clean up pseudo and bb usage handling. | Linus Torvalds | 1 | -2/+1 |
2005-04-07 | Do symbol dominance checks for all used symbols. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add basic block usage list to bb. | Linus Torvalds | 1 | -0/+2 |
2005-04-07 | Remove the horrid iterators. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Undo braindamage. | Linus Torvalds | 1 | -1/+2 |
2005-04-07 | Duplicate type removal.. | Linus Torvalds | 1 | -2/+1 |
2005-04-07 | Do a first pass at making symbols into pseudos. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Do some very rough (stupid) symbol access optimizations. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Replace OP_LOAD/OP_STORE with OP_LNOP/OP_SNOP when making them irrelevant. | Linus Torvalds | 1 | -0/+2 |
2005-04-07 | Remove deathnotes | Linus Torvalds | 1 | -1/+0 |
2005-04-07 | Make the pseudo usage list be a list of pointers to | Linus Torvalds | 1 | -3/+4 |
2005-04-07 | Add "argument pseudo" for incoming arguments to a function. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Show usage notes for symbols. | Linus Torvalds | 1 | -2/+0 |
2005-04-07 | Each pseudo has its "def" pointer, they now also have "use" pointers. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Introduce "value pseudos" and implicit deathnotes. | Linus Torvalds | 1 | -4/+14 |
2005-04-07 | Allow "pseudo-pseudos", which are a temporary symbol reference. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add usage refcounting to pseudos to make deathnotes come out right. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Re-do memory access linearization. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Do silly phi-node "expansion" as the last phase of the | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add deathnotes for the pseudo's we use. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Start "linearizing" initializers. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Associate each pseudo with the instruction that defines it. | Linus Torvalds | 1 | -0/+3 |
2005-04-07 | Add "struct position" to basic blocks, and give it some | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add an internal sparse "context" statement type. | Linus Torvalds | 1 | -0/+7 |
2005-04-07 | Mark the "entry" point in a function, and update it when | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | [PATCH] handling of non-lvalue compound objects | Alexander Viro | 1 | -0/+5 |
2005-04-07 | Create a valid linearization of EXPR_SELECT. | Linus Torvalds | 1 | -0/+3 |
2005-04-07 | EXPR_SAFELOGICAL is unnecessary. It ends up being the same as EXPR_BINOP. | Linus Torvalds | 1 | -4/+4 |
2005-04-07 | Make expression expansion calculate the "cost" of the | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Teach linearizer about computed goto's. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | [PATCH] comparison operations fix | Alexander Viro | 1 | -1/+5 |
2005-04-07 | Generalize linearize_symbol() | Jeff Garzik | 1 | -1/+2 |
2005-04-07 | [PATCH] Fix "return" target handling | Christopher Li | 1 | -1/+3 |
2005-04-07 | [PATCH] More linearizion fun | Christopher Li | 1 | -22/+22 |
2005-04-07 | [PATCH] more op-codes | Christopher Li | 1 | -8/+17 |
2005-04-07 | [PATCH] condition branch simplification | Christopher Li | 1 | -13/+97 |
2005-04-07 | [PATCH] PATCH: remove dead while loop | Christopher Li | 1 | -0/+3 |
2005-04-07 | Linearize post-ops and casts. | Linus Torvalds | 1 | -1/+6 |
2005-04-07 | Linearize function calls. Kind-of. | Linus Torvalds | 1 | -0/+3 |
2005-04-07 | Linearize logical ops. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add new IL for expression linearization. | Linus Torvalds | 1 | -1/+52 |
2005-04-07 | Clean up linearization, and make the basic blocks be | Linus Torvalds | 1 | -0/+8 |
2005-04-07 | Clean up "linearize()" calling convention even more. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Add basic block "ownership", ie each basic block has a | Linus Torvalds | 1 | -2/+3 |
2005-04-07 | Add "goto/label" support for linearization. | Linus Torvalds | 1 | -1/+1 |
2005-04-07 | Add real flow control to the basic-block handling. | Linus Torvalds | 1 | -0/+1 |
2005-04-07 | Oops. Fix name clash by renaming the new "copy_ptr_list" to be | Linus Torvalds | 1 | -0/+2 |
2005-04-07 | This add a linearization phase. It's not even close to done | Linus Torvalds | 1 | -0/+27 |