| Age | Commit message (Expand) | Author | Files | Lines |
| 2018-07-23 | big-shift: add -Wshift-count-{negative,overflow} | Luc Van Oostenryck | 1 | -1/+2 |
| 2018-07-23 | big-shift: use the type width for too big shift | Luc Van Oostenryck | 1 | -2/+2 |
| 2018-07-23 | big-shift: simplify over-sized OP_SHLs | Luc Van Oostenryck | 1 | -0/+2 |
| 2018-07-23 | big-shift: simplify over-sized OP_LSRs | Luc Van Oostenryck | 1 | -0/+8 |
| 2018-07-23 | big-shift: reuse simplify_asr() for LSR & SHL | Luc Van Oostenryck | 1 | -4/+4 |
| 2018-07-23 | big-shift: reorder the tests in simplify_asr() | Luc Van Oostenryck | 1 | -3/+5 |
| 2018-07-23 | big-shift: do not simplify over-sized OP_ASR to zero | Luc Van Oostenryck | 1 | -1/+0 |
| 2018-07-21 | big-shift: do not evaluate negative or over-sized shifts | Luc Van Oostenryck | 1 | -0/+6 |
| 2018-07-21 | big-shift: mark out-of-range OP_{ASR,LSR,SHL} as tainted | Luc Van Oostenryck | 1 | -1/+2 |
| 2018-06-30 | fix: remove dead OP_{SETVAL,SETFVAL,SLICE} | Luc Van Oostenryck | 1 | -0/+9 |
| 2018-06-30 | fix killing OP_SWITCH | Luc Van Oostenryck | 1 | -0/+1 |
| 2018-06-30 | Merge branch 'cast-optim' into tip | Luc Van Oostenryck | 1 | -2/+3 |
| 2018-06-29 | cast: optimize away casts to/from pointers | Luc Van Oostenryck | 1 | -2/+3 |
| 2018-06-28 | bool: remove OP_{AND,OR}_BOOL instructions | Luc Van Oostenryck | 1 | -23/+0 |
| 2018-06-28 | bool: simplify ZEXT in bool -> int -> bool | Luc Van Oostenryck | 1 | -2/+12 |
| 2018-06-28 | bool: fix add missing check in simplify_seteq_setne() | Luc Van Oostenryck | 1 | -1/+4 |
| 2018-06-28 | simplify 'x ^ ~0' to '~x' | Luc Van Oostenryck | 1 | -1/+7 |
| 2018-06-28 | simplify 'x & ~0' to 'x' | Luc Van Oostenryck | 1 | -0/+2 |
| 2018-06-28 | simplify 'x | ~0' to '~0' | Luc Van Oostenryck | 1 | -1/+8 |
| 2018-06-26 | cast: simplify TRUNC + ZEXT to AND | Luc Van Oostenryck | 1 | -0/+9 |
| 2018-06-23 | cast: prepare for more cast simplifications | Luc Van Oostenryck | 1 | -7/+10 |
| 2018-06-23 | cast: merge simplification of constant casts with constant unops | Luc Van Oostenryck | 1 | -23/+12 |
| 2018-06-23 | cast: simplify simplify_cast() | Luc Van Oostenryck | 1 | -23/+4 |
| 2018-06-23 | new helper: def_opcode() | Luc Van Oostenryck | 1 | -0/+7 |
| 2018-06-23 | cast: specialize integer casts | Luc Van Oostenryck | 1 | -12/+12 |
| 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 | -2/+3 |
| 2018-06-23 | Merge branches 'bug-fpcast-constant', 'case-unop', 'replace-pseudo' and 'add-... | Luc Van Oostenryck | 1 | -27/+24 |
| 2018-06-23 | ir: case OP_UNOP ... OP_UNOP_END | Luc Van Oostenryck | 1 | -12/+2 |
| 2018-06-23 | add missing entry for OP_FNEG in kill_insn() & validate_insn() | Luc Van Oostenryck | 1 | -1/+1 |
| 2018-06-22 | remove unused arg in simplify_cond_branch() | Luc Van Oostenryck | 1 | -3/+3 |
| 2018-06-22 | new helper: replace_pseudo() | Luc Van Oostenryck | 1 | -12/+19 |
| 2018-06-22 | avoid useless deref in simplify_cond_branch() | Luc Van Oostenryck | 1 | -4/+4 |
| 2018-06-21 | fix bad fpcast simplification | Luc Van Oostenryck | 1 | -2/+2 |
| 2018-05-06 | Merge branches 'unop', 'describe-dirty', 'range-syntax', 'old-testcases', 'fi... | Luc Van Oostenryck | 1 | -2/+4 |
| 2018-05-06 | fix: remove usage when killing symaddr (part 2) | Luc Van Oostenryck | 1 | -1/+1 |
| 2018-05-06 | fix: remove usage when killing symaddr (part 1) | Luc Van Oostenryck | 1 | -0/+1 |
| 2018-04-04 | fix missing handling of OP_FNEG | Luc Van Oostenryck | 1 | -1/+2 |
| 2018-03-18 | add remove_use() | Luc Van Oostenryck | 1 | -0/+8 |
| 2018-03-18 | make remove_usage() more generic | Luc Van Oostenryck | 1 | -3/+8 |
| 2018-03-17 | optim: simplify null select | Luc Van Oostenryck | 1 | -0/+6 |
| 2018-03-11 | fix symbol cleanup | Luc Van Oostenryck | 1 | -0/+2 |
| 2018-02-24 | fix accesses through incorrect union members | Jann Horn | 1 | -5/+5 |
| 2018-02-20 | ban use of 'true' or 'false' | Luc Van Oostenryck | 1 | -8/+6 |
| 2018-02-20 | no need for signed & unsigned multiplication | Luc Van Oostenryck | 1 | -10/+5 |
| 2018-02-20 | unsigned multiplication is also associative | Luc Van Oostenryck | 1 | -1/+1 |
| 2018-02-14 | kill dead loads | Luc Van Oostenryck | 1 | -1/+5 |
| 2018-02-13 | let kill_instruction() report if changes were made | Luc Van Oostenryck | 1 | -9/+8 |
| 2018-02-13 | use has_users() in dead_insn() too | Luc Van Oostenryck | 1 | -5/+2 |
| 2018-02-13 | add helper for pseudo's user-list's size | Luc Van Oostenryck | 1 | -2/+2 |
| 2018-02-08 | Merge branches 'cse-setfval' and 'extract-eval' into tip | Luc Van Oostenryck | 1 | -113/+128 |
| 2018-02-06 | extract extract eval_insn() from simplify_constant_binop() | Luc Van Oostenryck | 1 | -113/+128 |
| 2018-01-08 | add OP_SETFVAL | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-11-18 | fix support of floating-point compare | Luc Van Oostenryck | 1 | -1/+1 |
| 2017-11-16 | canonicalize compare instructions | Luc Van Oostenryck | 1 | -4/+16 |
| 2017-11-16 | canonicalize binops before simplification | Luc Van Oostenryck | 1 | -11/+9 |
| 2017-11-16 | use opcode table for compare_opcode() | Luc Van Oostenryck | 1 | -25/+1 |
| 2017-11-11 | fix 'simplification' of float-to-int casts | Luc Van Oostenryck | 1 | -0/+4 |
| 2017-08-08 | mark pseudo users as deleted instead of removing them | Luc Van Oostenryck | 1 | -2/+3 |
| 2017-07-31 | fix ptrlist corruption while killing unreachable BBs | Luc Van Oostenryck | 1 | -0/+9 |
| 2017-05-12 | ignore VOID when trying to if-convert phi-nodes | Luc Van Oostenryck | 1 | -6/+35 |
| 2017-03-06 | split OP_BR between unconditional & conditional: OP_CBR | Luc Van Oostenryck | 1 | -10/+5 |
| 2017-03-04 | fix usage in simplify_seteq_setne() | Luc Van Oostenryck | 1 | -2/+3 |
| 2017-02-16 | simplify float-to-float casts that doesn't change size | Luc Van Oostenryck | 1 | -0/+2 |
| 2017-02-16 | add killing of stores | Luc Van Oostenryck | 1 | -0/+7 |
| 2017-02-16 | add killing of non-volatile loads | Luc Van Oostenryck | 1 | -0/+6 |
| 2017-02-16 | fix killing OP_CALL via pointers | Luc Van Oostenryck | 1 | -0/+2 |
| 2017-02-16 | add killing of pure calls | Luc Van Oostenryck | 1 | -0/+11 |
| 2017-02-16 | kill_instruction() may need to be forced or not | Luc Van Oostenryck | 1 | -1/+10 |
| 2017-02-16 | fix killing of otherwise not-handled instructions | Luc Van Oostenryck | 1 | -1/+3 |
| 2017-02-16 | remove unused clear_phi() | Luc Van Oostenryck | 1 | -10/+0 |
| 2017-02-16 | fix clear_phi(), replace it by kill_instruction() | Luc Van Oostenryck | 1 | -3/+3 |
| 2017-02-16 | fix killing of OP_PHIs | Luc Van Oostenryck | 1 | -1/+1 |
| 2017-02-16 | add helper kill_use_list() | Luc Van Oostenryck | 1 | -0/+10 |
| 2017-02-16 | add killing of OP_PHISOURCEs | Luc Van Oostenryck | 1 | -0/+3 |
| 2017-02-16 | add killing of OP_SLICEs | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | simplify '(x || x)' and '(x && x)' | Luc Van Oostenryck | 1 | -4/+4 |
| 2017-02-13 | simplify comparisons followed by an equality test against 0 or 1 | Luc Van Oostenryck | 1 | -0/+65 |
| 2017-02-13 | add warning option '-Wtautological-compare' | Luc Van Oostenryck | 1 | -0/+4 |
| 2017-02-13 | simplify '(x op x)' to '0', '1' or 'x' | Luc Van Oostenryck | 1 | -0/+35 |
| 2017-02-13 | simplify '(x || 1)' to '1' | Luc Van Oostenryck | 1 | -1/+6 |
| 2017-02-13 | simplify '~(~x)' and '-(-x)' to 'x' | Luc Van Oostenryck | 1 | -0/+17 |
| 2017-02-13 | simplify '(x % 1)' into '0' | Luc Van Oostenryck | 1 | -0/+5 |
| 2017-02-13 | simplify '(x / -1)' to '-x' (but only for signed division) | Luc Van Oostenryck | 1 | -0/+2 |
| 2017-02-13 | simplify '(x * -1)' to '-x' | Luc Van Oostenryck | 1 | -0/+11 |
| 2017-02-13 | simplify '(x / 1)' to 'x' | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | move OP_MUL simplification in a separate function | Luc Van Oostenryck | 1 | -0/+17 |
| 2017-02-13 | fix killing OP_SETVAL instructions | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | cleanup kill_instruction() | Luc Van Oostenryck | 1 | -26/+21 |
| 2017-02-13 | explicitely ignore killing OP_ENTRY | Luc Van Oostenryck | 1 | -0/+4 |
| 2017-02-13 | fix killing OP_COMPUTEDGOTO | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | fix killing OP_SELECT | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | fix killing OP_CAST & friends | Luc Van Oostenryck | 1 | -0/+4 |
| 2017-02-13 | fix killing OP_PHI instructions | Luc Van Oostenryck | 1 | -0/+1 |
| 2017-02-13 | kill uses of replaced instructions | Luc Van Oostenryck | 1 | -0/+20 |
| 2017-02-13 | fix crash while testing between conditional & unconditional OP_BR | Luc Van Oostenryck | 1 | -1/+1 |
| 2013-05-11 | fix SIGFPE caused by signed division overflow | Xi Wang | 1 | -0/+4 |
| 2012-05-10 | simplify: conservative handling of casts with pointers | Jan Pokorný | 1 | -0/+6 |
| 2008-04-24 | Simplify (and warn about) right shifts that result in zero | Linus Torvalds | 1 | -1/+56 |
| 2007-04-20 | simplify.c: Declare delete_pseudo_user_list_entry static | Josh Triplett | 1 | -1/+1 |
| 2007-03-09 | Fix typos in comments | Josh Triplett | 1 | -3/+3 |
| 2007-01-16 | Add a return in the last case of a switch; redundant but less error-prone. | Josh Triplett | 1 | -0/+1 |
| 2007-01-16 | Update usage chain for dead instructions | Christopher Li | 1 | -0/+5 |
| 2007-01-16 | Add instruction to pseudo user tracking. | Christopher Li | 1 | -15/+32 |
| 2006-11-06 | Typo fixes | Pavel Roskin | 1 | -1/+1 |
| 2005-11-20 | Simplify some more instructions | Linus Torvalds | 1 | -2/+28 |
| 2005-04-07 | Fix typo (duplicate src2 should be src3) in simplify_range | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Use the new per-instruction position information for better | Linus Torvalds | 1 | -2/+2 |
| 2005-04-07 | Make range check code a bit more readable (and more easily extensible). | Linus Torvalds | 1 | -5/+16 |
| 2005-04-07 | Add compile-time "range-check" infrastructure to sparse | Linus Torvalds | 1 | -4/+32 |
| 2005-04-07 | Make simplification remove casts that change neither size nor sign. | Linus Torvalds | 1 | -1/+12 |
| 2005-04-07 | Split OP_CAST into signed, unsigned and FP casts. | Linus Torvalds | 1 | -2/+4 |
| 2005-04-07 | Simplify OP_CAST of OP_AND. | Linus Torvalds | 1 | -7/+21 |
| 2005-04-07 | Make constant instruction simplification take the sign of the | Linus Torvalds | 1 | -20/+29 |
| 2005-04-07 | Split the binops where signedness matters into unsigned and signed. | Linus Torvalds | 1 | -16/+23 |
| 2005-04-07 | Don't try to recursively check for an associative insn. | Linus Torvalds | 1 | -0/+2 |
| 2005-04-07 | Simplify OP_PTRCAST ops too for now. | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Split OP_SETVAL into OP_SETVAL (fp expressions and labels) and OP_SYMADDR | Linus Torvalds | 1 | -6/+4 |
| 2005-04-07 | Simplify conditional on cast-to-larger-size to conditional on original. | Linus Torvalds | 1 | -0/+8 |
| 2005-04-07 | Oops. Didn't remember about BINCMP ops when doing the commutative | Linus Torvalds | 1 | -0/+5 |
| 2005-04-07 | Teach simplification about associative operators. | Linus Torvalds | 1 | -3/+39 |
| 2005-04-07 | Make commutative operations use a canonical order. | Linus Torvalds | 1 | -1/+40 |
| 2005-04-07 | Remove OP_SETVAL after symbol-pseudo simplification. | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Make OP_PHISOURCE track the OP_PHI instructions that it defines. | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Simplify constant unops | Linus Torvalds | 1 | -1/+18 |
| 2005-04-07 | Fix conditional branch to same target simplification. | Linus Torvalds | 1 | -0/+12 |
| 2005-04-07 | Oops. OP_SEL simplification tried to kill the wrong pseudo ;) | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Follow OP_SEL -> OP_BR flow and simplify the branch. | Linus Torvalds | 1 | -0/+23 |
| 2005-04-07 | Remove OP_SETCC, make OP_SEL bigger instead. | Linus Torvalds | 1 | -30/+22 |
| 2005-04-07 | When simplifying memops, follow the whole chain of adds/subs. | Linus Torvalds | 1 | -2/+18 |
| 2005-04-07 | Simplify seteq/setne $0 + conditional branch. | Linus Torvalds | 1 | -3/+37 |
| 2005-04-07 | Don't try to share parenthood fn between phi node removal and | Linus Torvalds | 1 | -12/+2 |
| 2005-04-07 | Simplify "setcc + select $0<->$1" into "setne/seteq". | Linus Torvalds | 1 | -7/+29 |
| 2005-04-07 | Move constant switch simplification to the instruction | Linus Torvalds | 1 | -0/+27 |
| 2005-04-07 | Cleanup. Move the OP_SEL and OP_BR simplification out into | Linus Torvalds | 1 | -18/+29 |
| 2005-04-07 | Simplify trivial casts (and handle pointers specially). | Linus Torvalds | 1 | -0/+19 |
| 2005-04-07 | Don't go off into infinite loops when some undefined program | Linus Torvalds | 1 | -0/+7 |
| 2005-04-07 | Start using instruction sizes properly. | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Make list-ptr remove/replace take a count. | Linus Torvalds | 1 | -3/+1 |
| 2005-04-07 | Expose the "trivial common parent" logic that we use for phi | Linus Torvalds | 1 | -2/+12 |
| 2005-04-07 | Teach 'memop' simplification about offsetting. | Linus Torvalds | 1 | -0/+19 |
| 2005-04-07 | Simplify constant subtraction into addition. | Linus Torvalds | 1 | -1/+8 |
| 2005-04-07 | Add some more trivial constant simplifications. | Linus Torvalds | 1 | -0/+14 |
| 2005-04-07 | Clean up the tests for "pseudo has use list", since add/remove | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Make the CSE "repeat" logic be more fine-grained than just | Linus Torvalds | 1 | -15/+26 |
| 2005-04-07 | Handle killing of usage chains. | Linus Torvalds | 1 | -18/+46 |
| 2005-04-07 | More instruction kill care, making sure the use chains | Linus Torvalds | 1 | -2/+5 |
| 2005-04-07 | Be more thorough about killing unreachable instructions. | Linus Torvalds | 1 | -6/+6 |
| 2005-04-07 | Notice killed phi-sources, and don't bother with them. | Linus Torvalds | 1 | -1/+4 |
| 2005-04-07 | Fix silly unintentional constant truncation. | Linus Torvalds | 1 | -1/+1 |
| 2005-04-07 | Do first-approximation constant binop simplification. | Linus Torvalds | 1 | -1/+100 |
| 2005-04-07 | Simplify constant "conditional" branches and OP_SETCC/OP_SEL instructions. | Linus Torvalds | 1 | -1/+30 |
| 2005-04-07 | Start replacing trivial constant ops. | Linus Torvalds | 1 | -3/+25 |
| 2005-04-07 | Set up infrastructure for doing some constant simplification. | Linus Torvalds | 1 | -6/+52 |
| 2005-04-07 | Move instruction simplification to new file "simplify.c". | Linus Torvalds | 1 | -0/+217 |