Age | Commit message (Expand) | Author | Files | Lines |
2021-07-27 | fix missing itype in SEL(x, 0/1, 1/0) --> (x ==/!= 0) | Luc Van Oostenryck | 1 | -0/+1 |
2021-04-20 | Merge branches misc, cmp-pow2, optim-and-cmp, cmp-and-or and optim-cast-eval ... | Luc Van Oostenryck | 1 | -7/+73 |
2021-04-19 | simplify TRUNC(NOT(x)) --> NOT(TRUNC(x)) | Luc Van Oostenryck | 1 | -0/+15 |
2021-04-18 | TRUNC(x) {==,!=} C --> AND(x,M) {==,!=} C | Luc Van Oostenryck | 1 | -0/+14 |
2021-04-18 | simplify AND(x >= 0, x < C) --> (unsigned)x < C | Luc Van Oostenryck | 1 | -0/+11 |
2021-04-18 | canonicalize constant signed compares toward zero | Luc Van Oostenryck | 1 | -6/+28 |
2021-04-18 | Merge branches 'fix-phisrc' and 'insert-last-insn' into memops-prep | Luc Van Oostenryck | 1 | -25/+9 |
2021-03-19 | use convert_to_jump() when converting a CBR with same targets | Luc Van Oostenryck | 1 | -11/+2 |
2021-03-19 | rename insert_branch() to convert_to_jump() | Luc Van Oostenryck | 1 | -4/+4 |
2021-03-19 | let insert_branch() return a status | Luc Van Oostenryck | 1 | -14/+7 |
2021-03-19 | remove insert_branch() redundant arg | Luc Van Oostenryck | 1 | -4/+4 |
2021-03-13 | canonicalize ((x & M) == M) --> ((x & M) != 0) when M is a power-of-2 | Luc Van Oostenryck | 1 | -0/+4 |
2021-03-10 | no needs to use MARK_CURRENT_DELETED() for multi-jumps | Luc Van Oostenryck | 1 | -1/+1 |
2021-03-10 | simplify (x | M) cmpu C | Luc Van Oostenryck | 1 | -0/+16 |
2021-03-10 | simplify (x | M) cmps C | Luc Van Oostenryck | 1 | -0/+14 |
2021-03-10 | simplify (x | M) {==,!=} C | Luc Van Oostenryck | 1 | -0/+15 |
2021-03-10 | simplify (x & M) {==,!=} C | Luc Van Oostenryck | 1 | -0/+8 |
2021-03-10 | simplify (x & M) cmps 0 | Luc Van Oostenryck | 1 | -0/+4 |
2021-03-10 | simplify (x & M) cmpu C | Luc Van Oostenryck | 1 | -0/+16 |
2021-03-10 | simplify (x & M) cmps C | Luc Van Oostenryck | 1 | -0/+25 |
2021-03-08 | ptrlist: change return value of linearize_ptr_list()/ptr_list_to_array() | Luc Van Oostenryck | 1 | -2/+2 |
2021-03-06 | ptrlist: make linearize_ptr_list() generic | Luc Van Oostenryck | 1 | -2/+2 |
2021-01-26 | cmps: canonicalize SEL(x > 0, a, -a) --> SEL(x >= 0, a, -a) | Luc Van Oostenryck | 1 | -0/+14 |
2021-01-26 | cmps: canonicalize SEL(x {<,<=} y, a, b) --> SEL(x {>=,>} y, b, a) | Luc Van Oostenryck | 1 | -0/+7 |
2021-01-26 | cmps: canonicalize signed compares with constant | Luc Van Oostenryck | 1 | -0/+2 |
2021-01-26 | cmps: canonicalize SMIN/SMAX +- 1 --> EQ/NE | Luc Van Oostenryck | 1 | -0/+8 |
2021-01-26 | cmps: canonicalize signed compares with SMIN/SMAX | Luc Van Oostenryck | 1 | -0/+8 |
2021-01-26 | cmps: simplify signed compares with SMIN or SMAX | Luc Van Oostenryck | 1 | -0/+17 |
2021-01-26 | cmpu: fix canonicalization of unsigned (x {<,>=} C) --> (x {<=,>} C-1) | Luc Van Oostenryck | 1 | -2/+2 |
2021-01-26 | cmps: fix simplification of sext(x) + signed compare of {SMAX,SMIN} | Luc Van Oostenryck | 1 | -2/+2 |
2021-01-26 | cmps: make clearer we're using the operands' size | Luc Van Oostenryck | 1 | -4/+5 |
2021-01-25 | Merge branches 'fix-can-move-to' and 'asr-synth' into next | Luc Van Oostenryck | 1 | -1/+12 |
2021-01-24 | simplify LSR + SEXT into ASR | Luc Van Oostenryck | 1 | -1/+12 |
2021-01-24 | fix possible circular definition with can_move_to() | Luc Van Oostenryck | 1 | -0/+2 |
2021-01-17 | fix type of canonicalization of sext + unsigned compare | Luc Van Oostenryck | 1 | -0/+2 |
2021-01-02 | shut up a silly -Wmaybe-uninitialized warning | Luc Van Oostenryck | 1 | -1/+1 |
2020-12-29 | fix rem_usage() | Luc Van Oostenryck | 1 | -1/+1 |
2020-12-04 | fix killing OP_ASM | Luc Van Oostenryck | 1 | -0/+15 |
2020-12-02 | Merge branch 'kill-replace' into next | Luc Van Oostenryck | 1 | -18/+3 |
2020-11-28 | make replace_with_pseudo() extern | Luc Van Oostenryck | 1 | -1/+1 |
2020-11-28 | make a header for simplification | Luc Van Oostenryck | 1 | -0/+1 |
2020-11-28 | let replace_with_pseudo() use kill_instruction() | Luc Van Oostenryck | 1 | -17/+1 |
2020-11-28 | Merge branch 'bit-trans' into next | Luc Van Oostenryck | 1 | -17/+264 |
2020-11-27 | convert SEL(x & BIT1, BIT2, 0) into SHIFT(x & BIT1, S) | Luc Van Oostenryck | 1 | -0/+15 |
2020-11-27 | add helper is_pow2() | Luc Van Oostenryck | 1 | -0/+9 |
2020-11-27 | factorize SEL(x, OP(y,z), y) into OP(SEL(x, z, 0), y) | Luc Van Oostenryck | 1 | -0/+40 |
2020-11-27 | factorize SHIFT(x, s) OP SHIFT(y, s) into SHIFT((x OP y), s) | Luc Van Oostenryck | 1 | -0/+27 |
2020-11-27 | factorize (x OP1 z) OP2 (y OP1 z) into (x OP2 y) OP1 z | Luc Van Oostenryck | 1 | -0/+78 |
2020-11-27 | refactor simplify_add() to avoid code duplication | Luc Van Oostenryck | 1 | -13/+9 |
2020-11-27 | refactor simplify_add() to avoid code duplication (preparation) | Luc Van Oostenryck | 1 | -5/+2 |
2020-11-27 | add helper replace_binop() | Luc Van Oostenryck | 1 | -0/+17 |
2020-11-27 | add helper make_insn_pair() & swap_insn() | Luc Van Oostenryck | 1 | -0/+31 |
2020-11-27 | reassoc: add helper can_move_to() | Luc Van Oostenryck | 1 | -0/+37 |
2020-11-26 | fix trivial_phi() when the target is before the single value | Luc Van Oostenryck | 1 | -2/+2 |
2020-11-24 | Merge branch 'optim-not' into next | Luc Van Oostenryck | 1 | -10/+108 |
2020-11-22 | Merge branch 'cleanup' into next | Luc Van Oostenryck | 1 | -18/+7 |
2020-11-22 | Merge branch 'optim-cgoto' into next | Luc Van Oostenryck | 1 | -1/+65 |
2020-11-22 | not: simplify ((x cmp y) {&,|,^} (x !cmp y)) --> {0,1,1} | Luc Van Oostenryck | 1 | -3/+21 |
2020-11-22 | not: simplify (~x {&,|,^} x) --> {0,~0,~0} | Luc Van Oostenryck | 1 | -3/+63 |
2020-11-22 | canon: simplify calculation of canonical order | Luc Van Oostenryck | 1 | -13/+27 |
2020-11-22 | canon: put PSEUDO_REGs in canonical order too | Luc Van Oostenryck | 1 | -0/+3 |
2020-11-22 | canon: put PSEUDO_ARGs in canonical order too | Luc Van Oostenryck | 1 | -0/+3 |
2020-11-21 | add a new instruction for label-as-value | Luc Van Oostenryck | 1 | -11/+23 |
2020-11-21 | simplify CGOTO(SEL(x, L1, L2)) into CBR x, L1, L2 | Luc Van Oostenryck | 1 | -0/+22 |
2020-11-21 | simplify OP_COMPUTEDGOTO with unique and known target | Luc Van Oostenryck | 1 | -0/+30 |
2020-11-21 | simplify kill_insn() of unops and unop-ish instructions | Luc Van Oostenryck | 1 | -13/+5 |
2020-11-21 | remove unneeded REPEAT_SYMBOL_CLEANUP | Luc Van Oostenryck | 1 | -5/+2 |
2020-11-21 | fix kill_insn(OP_SETVAL) | Luc Van Oostenryck | 1 | -1/+1 |
2020-11-17 | cfg: add missing REPEAT_CFG_CLEANUP | Luc Van Oostenryck | 1 | -1/+1 |
2020-11-11 | Merge branch 'debug' | Luc Van Oostenryck | 1 | -3/+0 |
2020-11-09 | Merge branch 'optim-cmp' into next | Luc Van Oostenryck | 1 | -41/+199 |
2020-11-08 | select: simplify select(x, x, 0) --> x | Luc Van Oostenryck | 1 | -0/+2 |
2020-11-08 | select: simplify handling of select(x, 0, x) --> 0 | Luc Van Oostenryck | 1 | -5/+2 |
2020-11-08 | cmp: simplify compares and sign/zero extend | Luc Van Oostenryck | 1 | -10/+42 |
2020-11-08 | cmp: simplify zext(x) cmpu C | Luc Van Oostenryck | 1 | -0/+4 |
2020-11-08 | cmp: simplify zext(x) cmps C | Luc Van Oostenryck | 1 | -0/+14 |
2020-11-08 | cmp: canonicalize sext(x) cmpu C (with C >= SMAX) | Luc Van Oostenryck | 1 | -0/+12 |
2020-11-08 | cmp: simplify sext(x) cmps {SMAX,SMIN} | Luc Van Oostenryck | 1 | -0/+14 |
2020-11-08 | cmp: simplify zext(x) cmp C --> x cmp C | Luc Van Oostenryck | 1 | -0/+11 |
2020-11-08 | cmp: simplify sext(x) cmp C --> x cmp C | Luc Van Oostenryck | 1 | -0/+24 |
2020-11-08 | cmp: canonicalize unsigned (x {<=,>} SMAX) | Luc Van Oostenryck | 1 | -0/+4 |
2020-11-08 | cmp: canonicalize unsigned compare with UMAX or UMAX-1 | Luc Van Oostenryck | 1 | -0/+8 |
2020-11-08 | cmp: simplify unsigned (x {<=,>} UMAX) into {1,0} | Luc Van Oostenryck | 1 | -0/+5 |
2020-11-08 | cmp: canonicalize unsigned (x {<,>=} C) --> (x {<=,>} C-1) | Luc Van Oostenryck | 1 | -1/+7 |
2020-11-08 | cmp: use a few helpers for the simplification of compares | Luc Van Oostenryck | 1 | -20/+32 |
2020-11-08 | cmp: move some code in a separate function: simplify_compare_constant() | Luc Van Oostenryck | 1 | -31/+43 |
2020-11-07 | simplify SEL(x == y, x, y) and friends | Luc Van Oostenryck | 1 | -0/+12 |
2020-11-07 | select: simplify handling of constant cond or src1 == src2 | Luc Van Oostenryck | 1 | -8/+6 |
2020-11-07 | select: simplify SEL(SEL(x, C1, C2), y, z) --> y (with C1, C2 != 0) | Luc Van Oostenryck | 1 | -0/+3 |
2020-11-07 | select: simplify SEL(SEL(x, C, 0), C, 0) --> SEL(x, C, 0) == cond | Luc Van Oostenryck | 1 | -0/+3 |
2020-11-07 | select: simplify SEL(SEL(x, C, 0), y, z) --> SEL(x, y, z) and its dual | Luc Van Oostenryck | 1 | -0/+20 |
2020-11-01 | do not call simplify_instruction() if already removed | Luc Van Oostenryck | 1 | -3/+0 |
2020-11-01 | eval_insn: give an explicit type to compare's operands | Luc Van Oostenryck | 1 | -1/+13 |
2020-10-27 | Merge branch 'one_use' | Luc Van Oostenryck | 1 | -9/+9 |
2020-10-27 | replace nbr_users() & multi_users() by one_use() | Luc Van Oostenryck | 1 | -9/+9 |
2020-10-27 | Merge branches 'cleanup-linearize', 'inline-use', 'inline-def', 'pure-call', ... | Luc Van Oostenryck | 1 | -49/+8 |
2020-10-25 | fix testing if a OP_CALL's function is pure | Luc Van Oostenryck | 1 | -3/+3 |
2020-10-25 | kill dead instructions before any other simplifications | Luc Van Oostenryck | 1 | -46/+5 |
2020-10-24 | Merge branches 'optim-setuimm' and 'optim-unop' into next | Luc Van Oostenryck | 1 | -5/+78 |
2020-10-24 | unop: simplify ~(-x) --> x - 1 | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-24 | unop: simplify ~(x ^ C) --> x ^ ~C | Luc Van Oostenryck | 1 | -0/+6 |
2020-10-24 | unop: simplify ~(C - x) --> x + ~C | Luc Van Oostenryck | 1 | -0/+6 |
2020-10-24 | unop: simplify ~(x + C) --> ~C - x | Luc Van Oostenryck | 1 | -0/+7 |
2020-10-24 | unop: simplify -(~x) --> x + 1 | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-24 | unop: simplify -(x - y) --> y - x | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-24 | unop: simplify -(x + C) --> -C - x | Luc Van Oostenryck | 1 | -0/+7 |
2020-10-24 | unop: prepare simplify_unop() to handle more cases | Luc Van Oostenryck | 1 | -5/+10 |
2020-10-23 | canonicalize unsigned compares against 0 or 1 | Luc Van Oostenryck | 1 | -0/+20 |
2020-10-23 | simplify unsigned compares against 0 | Luc Van Oostenryck | 1 | -0/+10 |
2020-10-20 | sub: simplify x + (y - x) --> y | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-20 | sub: simplify (x - y) + y --> x | Luc Van Oostenryck | 1 | -0/+5 |
2020-10-20 | sub: simplify x - (y + x) --> -y | Luc Van Oostenryck | 1 | -0/+2 |
2020-10-20 | sub: simplify x - (x + y) --> -y | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-20 | sub: simplify (x + y) - y --> x | Luc Van Oostenryck | 1 | -0/+2 |
2020-10-20 | sub: simplify (x + y) - x --> y | Luc Van Oostenryck | 1 | -0/+8 |
2020-10-20 | add: simplify (-x + y) --> (y - x) | Luc Van Oostenryck | 1 | -0/+8 |
2020-10-20 | add: simplify (x + -y) --> (x - y) | Luc Van Oostenryck | 1 | -1/+15 |
2020-10-20 | sub: simplify (x - -y) --> (x + y) | Luc Van Oostenryck | 1 | -1/+15 |
2020-10-20 | sub: simplify (C - y) + D --> eval(C+D) - y | Luc Van Oostenryck | 1 | -0/+20 |
2020-10-20 | sub: simplify C - (D - z) --> z + eval(C-D) | Luc Van Oostenryck | 1 | -0/+8 |
2020-10-20 | sub: simplify C - (y + D) --> eval(C-D) - y | Luc Van Oostenryck | 1 | -0/+18 |
2020-10-20 | sub: canonicalize (0 - x) into -x | Luc Van Oostenryck | 1 | -0/+4 |
2020-10-20 | sub: reorganize handling of OP_{ADD,SUB}s with constant rightside | Luc Van Oostenryck | 1 | -9/+11 |
2020-10-20 | reassoc: simplify (x # C) # K --> x # eval(C # K) | Luc Van Oostenryck | 1 | -0/+5 |
2020-10-20 | constants must be truncated to the operation's size | Luc Van Oostenryck | 1 | -1/+1 |
2020-10-20 | add a flag to identify commutative & associative ops | Luc Van Oostenryck | 1 | -23/+46 |
2020-10-20 | unop: add helper replace_with_unop() | Luc Van Oostenryck | 1 | -0/+14 |
2020-10-20 | unop: add helper eval_unop() | Luc Van Oostenryck | 1 | -0/+12 |
2020-10-20 | extract eval_op() from eval_insn() | Luc Van Oostenryck | 1 | -5/+9 |
2020-10-20 | let switch_pseudo() return REPEAT_CSE | Luc Van Oostenryck | 1 | -1/+2 |
2020-10-06 | unop: fix access to defining instruction in simplify_unop() | Luc Van Oostenryck | 1 | -4/+2 |
2020-09-05 | replace_with_{pseudo,value}() can be tail-calls | Luc Van Oostenryck | 1 | -8/+4 |
2020-09-05 | use replace_with_value() | Luc Van Oostenryck | 1 | -8/+8 |
2020-09-05 | add helper replace_with_value() | Luc Van Oostenryck | 1 | -0/+5 |
2020-08-06 | bad-shift: wait dead code elimination to warn about bad shifts | Luc Van Oostenryck | 1 | -15/+5 |
2018-12-22 | doc: fix list formatting | Luc Van Oostenryck | 1 | -2/+3 |
2018-09-06 | Merge branch 'rem-trivial-phi' into tip | Luc Van Oostenryck | 1 | -19/+44 |
2018-09-01 | trivial-phi: remove more complex trivial phi-nodes | Luc Van Oostenryck | 1 | -2/+17 |
2018-09-01 | trivial-phi: directly return the unique value | Luc Van Oostenryck | 1 | -17/+9 |
2018-09-01 | trivial-phi: use a temp var for the real source | Luc Van Oostenryck | 1 | -2/+7 |
2018-09-01 | trivial-phi: early return | Luc Van Oostenryck | 1 | -1/+1 |
2018-09-01 | trivial-phi: extract trivial_phi() from clean_up_phi() | Luc Van Oostenryck | 1 | -3/+22 |
2018-09-01 | trivial-phi: make clean_up_phi() more sequential | Luc Van Oostenryck | 1 | -4/+5 |
2018-09-01 | move DEF_OPCODE() to header file | Luc Van Oostenryck | 1 | -7/+0 |
2018-08-31 | Merge branch 'opcode' into tip | Luc Van Oostenryck | 1 | -3/+25 |
2018-08-26 | add a function to remove deadborn instructions | Luc Van Oostenryck | 1 | -0/+22 |
2018-08-25 | add a flag for volatile memops | Luc Van Oostenryck | 1 | -1/+1 |
2018-08-25 | symaddr: s/insn->symbol/insn->src/ | Luc Van Oostenryck | 1 | -3/+3 |
2018-08-24 | Merge branches 'optim-trunc-or' and 'optim-mask-shift-or' into tip | Luc Van Oostenryck | 1 | -18/+61 |
2018-08-24 | simplify TRUNC(SHIFT(a | b, S), N) | Luc Van Oostenryck | 1 | -0/+6 |
2018-08-24 | simplify AND(SHIFT(a | b, S), M) | Luc Van Oostenryck | 1 | -0/+18 |
2018-08-23 | prepare simplification of MASK(SHIFT(a | b, S), M) | Luc Van Oostenryck | 1 | -4/+22 |
2018-08-23 | doc: extend simplification notation | Luc Van Oostenryck | 1 | -13/+15 |
2018-08-22 | simplify TRUNC((x & M') | y, N) | Luc Van Oostenryck | 1 | -0/+8 |
2018-08-22 | Merge branches 'optim-shift-and' and 'optim-bitfield' into tip | Luc Van Oostenryck | 1 | -45/+95 |
2018-08-22 | simplify ((x & M) << S) when (M << S) == (-1 << S) | Luc Van Oostenryck | 1 | -0/+2 |
2018-08-22 | simplify ((x & M) << S) when (M << S) == 0 | Luc Van Oostenryck | 1 | -0/+11 |
2018-08-22 | simplify ((x & M) >> S) when (M >> S) == (-1 >> S) | Luc Van Oostenryck | 1 | -0/+2 |
2018-08-22 | simplify ((x & M) >> S) when (M >> S) == 0 | Luc Van Oostenryck | 1 | -1/+5 |
2018-08-22 | use an intermediate mask in simplify_shift() | Luc Van Oostenryck | 1 | -3/+3 |
2018-08-22 | simplify SHL((x & M') | y, S) | Luc Van Oostenryck | 1 | -0/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) != C | Luc Van Oostenryck | 1 | -0/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) == M | Luc Van Oostenryck | 1 | -0/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) == 0 | Luc Van Oostenryck | 1 | -0/+9 |
2018-08-22 | simplify OP(((x & M') | y), K) when (M' & M) != M' | Luc Van Oostenryck | 1 | -0/+5 |
2018-08-22 | simplify OP(((x & M') | y), K) when (M' & M) == M | Luc Van Oostenryck | 1 | -0/+8 |
2018-08-22 | move opcode test inside simplify_mask_or_and() | Luc Van Oostenryck | 1 | -3/+7 |
2018-08-22 | allow simplification of OP(((x & y) | (a & M')), K) | Luc Van Oostenryck | 1 | -2/+5 |
2018-08-22 | switch return order in simplify_mask_or_and() | Luc Van Oostenryck | 1 | -6/+5 |
2018-08-22 | document simplify_mask_or() & simplify_mask_or_and() | Luc Van Oostenryck | 1 | -0/+21 |
2018-08-22 | use better names for simplify_mask_or_and() vars | Luc Van Oostenryck | 1 | -3/+4 |
2018-08-22 | add simplify_mask_or() | Luc Van Oostenryck | 1 | -16/+14 |
2018-08-22 | unify simplify_lsr_or() & simplify_and_or_mask() | Luc Van Oostenryck | 1 | -33/+23 |
2018-08-21 | doc: add doc for simplification notation | Luc Van Oostenryck | 1 | -0/+24 |
2018-08-21 | doc: reword doc for replace_pseudo() | Luc Van Oostenryck | 1 | -1/+1 |
2018-08-21 | doc: convert existing simplify.c doc into ReST autodoc | Luc Van Oostenryck | 1 | -36/+43 |
2018-08-17 | Merge branches 'optim-shl-lsr' and 'optim-trunc-trunc' into tip | Luc Van Oostenryck | 1 | -2/+7 |
2018-08-17 | simplify TRUNC(TRUNC(x)) | Luc Van Oostenryck | 1 | -0/+3 |
2018-08-17 | reorganize simplification of ZEXT(TRUNC(x)) | Luc Van Oostenryck | 1 | -2/+4 |
2018-08-17 | simplify ((x >> S) << S) | Luc Van Oostenryck | 1 | -0/+7 |
2018-08-17 | reorganize shift-shift simplification | Luc Van Oostenryck | 1 | -6/+8 |
2018-08-17 | simpler guard in LSR-SHL simplification | Luc Van Oostenryck | 1 | -3/+1 |
2018-08-08 | Merge branches 'fix-inc-dec-size' and 'optim-mask' into tip | Luc Van Oostenryck | 1 | -7/+85 |
2018-08-08 | simplify (x & M) >> S to (x >> S) & (M >> S) | Luc Van Oostenryck | 1 | -0/+14 |
2018-08-08 | simplify (x << S) >> S into x & (-1 >> S) | Luc Van Oostenryck | 1 | -0/+11 |
2018-08-08 | simplify ((x & M) | y) >> S to (y >> S) when (M >> S) == 0 | Luc Van Oostenryck | 1 | -0/+24 |
2018-08-08 | simplify ((x & M') | y ) & M into (y & M) when (M' & M) == 0 | Luc Van Oostenryck | 1 | -0/+23 |
2018-08-08 | reorg code for shift-shift simplification | Luc Van Oostenryck | 1 | -5/+10 |
2018-08-07 | use multi_users() instead on nbr_users() | Luc Van Oostenryck | 1 | -3/+3 |
2018-08-07 | Merge branch 'fix-logical-extra' into tip | Luc Van Oostenryck | 1 | -1/+52 |
2018-08-07 | avoid infinite simplification loops of the second kind | Luc Van Oostenryck | 1 | -2/+3 |
2018-08-06 | simplify AND(SETCC(x,y), M) | Luc Van Oostenryck | 1 | -0/+5 |
2018-08-06 | simplify TRUNC(SETCC(x,y), N) | Luc Van Oostenryck | 1 | -0/+2 |
2018-08-06 | simplify SEXT(SETCC(x,y), N) | Luc Van Oostenryck | 1 | -0/+4 |
2018-08-06 | simplify ZEXT(SETCC(x,y), N) | Luc Van Oostenryck | 1 | -0/+13 |
2018-08-06 | simplify SETNE(TRUNC(x,N),{0,1}) | Luc Van Oostenryck | 1 | -0/+17 |
2018-08-06 | simplify SETNE(AND(X,1),0) to AND(X,1) | Luc Van Oostenryck | 1 | -0/+10 |
2018-08-06 | fix size corruption when simplifing 'x != 0' to 'x' | Luc Van Oostenryck | 1 | -1/+1 |
2018-08-04 | Merge branch 'list-optims' (early part) into tip | Luc Van Oostenryck | 1 | -2/+2 |
2018-07-28 | Merge branch 'optim-setne' into tip | Luc Van Oostenryck | 1 | -15/+21 |