Age | Commit message (Expand) | Author | Files | Lines |
2018-12-26 | Sparse v0.6.0v0.6.0 | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-26 | add TODO list. | Luc Van Oostenryck | 3 | -52/+99 |
2018-12-22 | as-name: document that identifiers are OK for address spaces | Luc Van Oostenryck | 1 | -3/+4 |
2018-12-22 | doc: fix list formatting | Luc Van Oostenryck | 1 | -2/+3 |
2018-12-21 | expression.h: update comment to include other cast types | Tycho Andersen | 1 | -1/+2 |
2018-12-21 | remove self-assignment of base_type | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-21 | remove -finline-functions from CFLAGS | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-21 | remove unused regno() | Luc Van Oostenryck | 1 | -8/+0 |
2018-12-20 | remove redundant check of _Bool bitsize | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-20 | Merge branch 'cleanup' | Luc Van Oostenryck | 3 | -8/+9 |
2018-12-20 | Merge branch 'show-type' | Luc Van Oostenryck | 13 | -63/+69 |
2018-12-19 | Merge branch 'bitwise-ptr' | Luc Van Oostenryck | 6 | -0/+67 |
2018-12-19 | allocate BBs after the guards | Luc Van Oostenryck | 1 | -1/+3 |
2018-12-19 | remove unused arg in add_branch() | Luc Van Oostenryck | 1 | -4/+4 |
2018-12-19 | remove unneeded declarations in "compat.h" | Luc Van Oostenryck | 1 | -2/+0 |
2018-12-18 | build: check if sparse-llvm needs libc++ | Luc Van Oostenryck | 1 | -0/+1 |
2018-12-18 | build: only need includedir from llvm-config | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-18 | VERSION=0.6.0-rc1 | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-17 | show-parse: remove string_ctype from typenames | Luc Van Oostenryck | 1 | -1/+0 |
2018-12-17 | show-parse: do not display base type's redundant specifiers | Luc Van Oostenryck | 6 | -37/+39 |
2018-12-17 | show-parse: don't display null ident in show_typename() | Luc Van Oostenryck | 10 | -26/+27 |
2018-12-17 | add a flag to warn on casts to/from bitwise pointers | Luc Van Oostenryck | 5 | -2/+29 |
2018-12-17 | Add testcases for bitwise cast on pointer | Thiebaud Weksteen | 2 | -0/+40 |
2018-12-17 | Merge branch 'predefs' into tipv0.6.0-rc1 | Luc Van Oostenryck | 16 | -163/+415 |
2018-12-17 | add predefine_min() and use it for __{WCHAR,WINT}_MIN__ | Luc Van Oostenryck | 1 | -2/+17 |
2018-12-17 | add predefine for __CHAR_UNSIGNED__ | Luc Van Oostenryck | 2 | -1/+9 |
2018-12-17 | fix the size of long double | Luc Van Oostenryck | 1 | -2/+23 |
2018-12-17 | add predefined macros for char{16,32}_t | Luc Van Oostenryck | 1 | -0/+2 |
2018-12-17 | add predefined macros for [u]int32_t | Luc Van Oostenryck | 4 | -0/+25 |
2018-12-17 | add predefined macros for [u]int64_t | Luc Van Oostenryck | 4 | -0/+18 |
2018-12-17 | add predefined macros for [u]int{8,16}_t | Luc Van Oostenryck | 2 | -0/+9 |
2018-12-17 | add predefined macros for [u]intmax | Luc Van Oostenryck | 4 | -0/+12 |
2018-12-17 | add predefined macros for [u]intptr | Luc Van Oostenryck | 2 | -0/+4 |
2018-12-17 | add predefined macros for wint_t | Luc Van Oostenryck | 3 | -0/+6 |
2018-12-17 | use the type for predefined_max() | Luc Van Oostenryck | 1 | -5/+5 |
2018-12-17 | give a type to wchar | Luc Van Oostenryck | 6 | -9/+37 |
2018-12-17 | make predefined_type_size() more generic | Luc Van Oostenryck | 3 | -23/+50 |
2018-12-16 | show-parse: strip do_show_type()'s trailing space | Luc Van Oostenryck | 2 | -2/+6 |
2018-12-14 | remove duplicates from gcc-attr-list.h | Luc Van Oostenryck | 1 | -9/+0 |
2018-12-14 | teach sparse about asm inline | Luc Van Oostenryck | 3 | -7/+81 |
2018-12-14 | add builtin_type_suffix() | Luc Van Oostenryck | 2 | -31/+43 |
2018-12-14 | use bits_mask() for predefined_max() | Luc Van Oostenryck | 1 | -1/+2 |
2018-12-14 | allow optional "_T" suffix to __SIZEOF_XXX__ | Luc Van Oostenryck | 1 | -12/+12 |
2018-12-14 | fix '__SIZE_TYPE__' for LLP64 | Luc Van Oostenryck | 2 | -11/+7 |
2018-12-14 | testsuite: test predef macros on LP32/LP64/LLP64 | Luc Van Oostenryck | 7 | -59/+70 |
2018-12-14 | test endianness with __BYTE_ORDER__ | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-14 | Consolidate 'machine detection' into "machine.h" | Luc Van Oostenryck | 2 | -21/+24 |
2018-12-14 | add detection of native platform | Luc Van Oostenryck | 1 | -0/+54 |
2018-12-12 | Merge branch 'as-named' into tip | Luc Van Oostenryck | 11 | -65/+152 |
2018-12-12 | as-named: warn on bad address space | Luc Van Oostenryck | 4 | -14/+17 |
2018-12-12 | as-name: check for multiple address spaces at parsing time | Luc Van Oostenryck | 1 | -1/+6 |
2018-12-12 | as-name: allow ident as address_space | Luc Van Oostenryck | 2 | -8/+43 |
2018-12-12 | as-name: use idents for address spaces | Luc Van Oostenryck | 5 | -42/+70 |
2018-12-10 | Merge branch 'fix-non-const-case' into tip | Luc Van Oostenryck | 2 | -2/+42 |
2018-12-09 | as-name: add and use show_as() | Luc Van Oostenryck | 8 | -26/+38 |
2018-12-09 | multi-buffer for idents | Luc Van Oostenryck | 1 | -1/+5 |
2018-12-09 | Merge branch 'maintainer' into tip | Luc Van Oostenryck | 1 | -2/+15 |
2018-12-09 | Merge branch 'dump-macros' | Luc Van Oostenryck | 5 | -16/+105 |
2018-12-09 | don't allow newlines inside string literals | Luc Van Oostenryck | 3 | -7/+6 |
2018-12-08 | man: update maintainer info | Luc Van Oostenryck | 1 | -2/+1 |
2018-12-08 | man: add AUTHORS section | Luc Van Oostenryck | 1 | -0/+5 |
2018-12-08 | man: add section about reporting bugs | Luc Van Oostenryck | 1 | -0/+9 |
2018-12-08 | add testcase for missing deliminator ' or " | Luc Van Oostenryck | 1 | -0/+18 |
2018-12-06 | cgcc: use 'i386' for the arch instead of 'i86' | Luc Van Oostenryck | 1 | -2/+2 |
2018-12-01 | Conditionalize 'warning: non-ANSI function ...' | John Levon | 7 | -4/+66 |
2018-12-01 | Accept comma-separated list for function declarations. | Luc Van Oostenryck | 1 | -1/+1 |
2018-12-01 | Use -Wimplicit-int when warning about missing K&R argument types | Luc Van Oostenryck | 4 | -1/+22 |
2018-12-01 | fix implicit K&R argument types | Luc Van Oostenryck | 2 | -1/+19 |
2018-11-29 | Ignore #ident directives | John Levon | 3 | -0/+30 |
2018-11-25 | dump-macro: simplify processing of whitespace | Luc Van Oostenryck | 1 | -6/+3 |
2018-11-24 | dump-macro: break the loop at TOKEN_UNTAINT | Luc Van Oostenryck | 1 | -3/+1 |
2018-11-24 | pre-process: add the -dM option to dump macro definitions | Ramsay Jones | 4 | -9/+75 |
2018-11-24 | pre-process: print variable argument macros correctly | Ramsay Jones | 2 | -1/+15 |
2018-11-24 | pre-process: don't put spaces in macro parameter list | Ramsay Jones | 2 | -2/+2 |
2018-11-24 | pre-process: print macros containing # and ## correctly | Ramsay Jones | 2 | -0/+12 |
2018-11-24 | cgcc: teach about '-x c' | Luc Van Oostenryck | 1 | -0/+8 |
2018-11-24 | cgcc: teach about '-o <file>' | Luc Van Oostenryck | 1 | -0/+8 |
2018-11-24 | cgcc: add support to ignore argument(s) of options | Luc Van Oostenryck | 1 | -2/+9 |
2018-11-24 | teach sparse about '-x <language>' | Luc Van Oostenryck | 1 | -0/+8 |
2018-11-24 | teach sparse about '-o <file>' | Luc Van Oostenryck | 3 | -0/+17 |
2018-11-24 | pre-process: suppress trailing space when dumping macros | Ramsay Jones | 1 | -0/+2 |
2018-11-23 | constant: add -Wconstant-suffix warning | Ramsay Jones | 7 | -2/+47 |
2018-11-22 | sparsei: add the --[no-]jit options | Ramsay Jones | 2 | -2/+20 |
2018-11-22 | sparsec: use a compatible exception model on cygwin | Ramsay Jones | 1 | -1/+11 |
2018-11-20 | fix expansion of function designator | Luc Van Oostenryck | 2 | -1/+2 |
2018-11-20 | add testcase for missing function designator expansion | Luc Van Oostenryck | 1 | -0/+23 |
2018-11-02 | tokenize: check show_string() for NULL pointer | Ben Dooks | 1 | -1/+1 |
2018-10-30 | ptrlist: add ptr_list_nth_entry() | Luc Van Oostenryck | 2 | -0/+23 |
2018-10-26 | __attribute__((fallthrough)) can't simply be ignored | Luc Van Oostenryck | 1 | -1/+0 |
2018-10-05 | Merge branch 'fix-enum-type' into tip | Luc Van Oostenryck | 16 | -64/+405 |
2018-10-05 | enum: more specific error message for empty enum | Luc Van Oostenryck | 2 | -2/+2 |
2018-10-05 | enum: default to unsigned | Luc Van Oostenryck | 4 | -10/+9 |
2018-10-05 | enum: keep enumerators as int if they fit | Luc Van Oostenryck | 1 | -0/+37 |
2018-10-05 | enum: rewrite bound checking | Luc Van Oostenryck | 1 | -50/+34 |
2018-10-05 | enum: warn on bad enums | Luc Van Oostenryck | 1 | -2/+4 |
2018-10-05 | enum: warn when mixing different restricted types | Luc Van Oostenryck | 2 | -0/+25 |
2018-10-05 | enum: only warn (once) when mixing bitwiseness | Luc Van Oostenryck | 2 | -0/+36 |
2018-10-05 | enum: use the values to determine the base type | Luc Van Oostenryck | 1 | -14/+1 |
2018-10-05 | enum: use the smallest type that fit | Luc Van Oostenryck | 4 | -5/+0 |
2018-10-05 | enum: fix cast_enum_list() | Luc Van Oostenryck | 2 | -1/+1 |
2018-10-05 | enum: add testcase for base & enumerator type | Luc Van Oostenryck | 8 | -0/+227 |
2018-10-05 | enum: add testcase for type of enum members | Luc Van Oostenryck | 1 | -0/+15 |
2018-10-05 | enum: fix UB when rshifting by full width | Luc Van Oostenryck | 2 | -3/+15 |
2018-10-05 | enum: add testcase for UB in oversized shift | Luc Van Oostenryck | 1 | -0/+17 |
2018-10-05 | doc: is_int_type() returns false for SYM_RESTRICTs | Luc Van Oostenryck | 1 | -0/+5 |
2018-09-26 | print address space number for cast-from-AS warnings | Vincenzo Frascino | 3 | -4/+64 |
2018-09-10 | ssa: relax what can be promoted | Luc Van Oostenryck | 2 | -4/+2 |
2018-09-10 | test: make 32-bit version of failed test | Luc Van Oostenryck | 2 | -2/+31 |
2018-09-10 | test: use integers of different sizes, even on 32-bit | Luc Van Oostenryck | 1 | -2/+2 |
2018-09-10 | test: make test Waddress-space-strict succeed on 32-bit | Luc Van Oostenryck | 1 | -26/+7 |
2018-09-08 | fix linearization of non-constant switch-cases | Luc Van Oostenryck | 2 | -3/+5 |
2018-09-08 | add testcase for non-constant switch-case | Luc Van Oostenryck | 1 | -0/+38 |
2018-09-06 | Merge branch 'rem-trivial-phi' into tip | Luc Van Oostenryck | 3 | -19/+66 |
2018-09-06 | Merge branches 'missing-return' and 'fix-logical-phi' into tip | Luc Van Oostenryck | 17 | -143/+373 |
2018-09-06 | fix linearization of nested logical expr | Luc Van Oostenryck | 5 | -111/+121 |
2018-09-06 | add tests for nested logical expr | Luc Van Oostenryck | 1 | -0/+49 |
2018-09-06 | fix ordering of phi-node operand | Luc Van Oostenryck | 3 | -7/+6 |
2018-09-06 | add testcases for wrong ordering in phi-nodes | Luc Van Oostenryck | 4 | -0/+55 |
2018-09-06 | return nothing only in void functions | Luc Van Oostenryck | 2 | -4/+3 |
2018-09-06 | use a temp var for the return type/symbol | Luc Van Oostenryck | 1 | -1/+2 |
2018-09-06 | use UNDEF for missing returns | Luc Van Oostenryck | 6 | -5/+8 |
2018-09-06 | extract add_return() from linearize_return() | Luc Van Oostenryck | 1 | -11/+16 |
2018-09-06 | the return BB is never terminated | Luc Van Oostenryck | 1 | -8/+7 |
2018-09-06 | there is always an active BB after linearize_fn_statement() | Luc Van Oostenryck | 1 | -2/+2 |
2018-09-06 | specialize linearize_compound_statement() | Luc Van Oostenryck | 1 | -10/+16 |
2018-09-06 | topasm: top-level asm is special | Luc Van Oostenryck | 3 | -3/+7 |
2018-09-05 | use a temp var for function's upper-level statement | Luc Van Oostenryck | 1 | -2/+3 |
2018-09-05 | add testcases for missing return in last block | Luc Van Oostenryck | 6 | -0/+97 |
2018-09-05 | add linearization as a pass | Luc Van Oostenryck | 2 | -0/+2 |
2018-09-01 | stricter warning for explicit cast to ulong | Luc Van Oostenryck | 5 | -2/+70 |
2018-09-01 | Merge branch 'dead-switch' into tip | Luc Van Oostenryck | 4 | -8/+83 |
2018-09-01 | Merge branch 'has-attribute' into tip | Luc Van Oostenryck | 5 | -10/+85 |
2018-09-01 | trivial-phi: remove more complex trivial phi-nodes | Luc Van Oostenryck | 2 | -3/+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 | trivial-phi: add testcase for unneeded trivial phi-nodes | Luc Van Oostenryck | 1 | -0/+15 |
2018-09-01 | move DEF_OPCODE() to header file | Luc Van Oostenryck | 2 | -7/+8 |
2018-09-01 | fix linearization of unreachable switch (with reachable label). | Luc Van Oostenryck | 2 | -6/+6 |
2018-09-01 | add tescase for unreachable label in switch | Luc Van Oostenryck | 1 | -0/+20 |
2018-09-01 | ir-validate: validate return value | Luc Van Oostenryck | 1 | -0/+15 |
2018-09-01 | ir-validate: ignore dead phis | Luc Van Oostenryck | 1 | -0/+3 |
2018-09-01 | ir-validate: add validation branch to dead BB | Luc Van Oostenryck | 2 | -3/+40 |
2018-09-01 | has-attr: add support for __has_attribute() | Luc Van Oostenryck | 4 | -10/+26 |
2018-09-01 | has-attr: add __designated_init__ & transparent_union | Luc Van Oostenryck | 1 | -0/+2 |
2018-09-01 | has-attr: move 'mode' next to '__mode__' | Luc Van Oostenryck | 1 | -1/+1 |
2018-09-01 | has-attr: add testcase for __has_attribute() | Luc Van Oostenryck | 1 | -0/+57 |
2018-08-31 | Merge branch 'opcode' into tip | Luc Van Oostenryck | 10 | -183/+177 |
2018-08-30 | Merge branch 'volatile-bitfield' and 'mode-pointer' into tip | Luc Van Oostenryck | 8 | -19/+77 |
2018-08-30 | fix missing declarations | Luc Van Oostenryck | 4 | -1/+8 |
2018-08-26 | add a function to remove deadborn instructions | Luc Van Oostenryck | 2 | -0/+23 |
2018-08-26 | opcode: add OPF_TARGET | Luc Van Oostenryck | 3 | -84/+88 |
2018-08-26 | opcode: add arity info | Luc Van Oostenryck | 3 | -84/+86 |
2018-08-26 | opcode: centralize opcode definition | Luc Van Oostenryck | 4 | -152/+134 |
2018-08-25 | fix: do not optimize away accesses to volatile bitfields | Luc Van Oostenryck | 2 | -3/+2 |
2018-08-25 | add a flag for volatile memops | Luc Van Oostenryck | 5 | -4/+7 |
2018-08-25 | split memops from unops | Luc Van Oostenryck | 1 | -1/+4 |
2018-08-25 | add testcase for accesses to volatile bitfields | Luc Van Oostenryck | 1 | -0/+17 |
2018-08-25 | symaddr: s/insn->symbol/insn->src/ | Luc Van Oostenryck | 6 | -31/+14 |
2018-08-25 | Merge branch 'ssa' into tip | Luc Van Oostenryck | 53 | -376/+1439 |
2018-08-25 | testsuite: remove useless test for loop-linearization | Luc Van Oostenryck | 1 | -136/+0 |
2018-08-25 | Merge branch 'kill-dead-stores' into tip | Luc Van Oostenryck | 7 | -22/+214 |
2018-08-24 | remove superfluous newline in 'unknown mode attribute' error message | Luc Van Oostenryck | 1 | -1/+1 |
2018-08-25 | add a testcase for enum using a mode | Luc Van Oostenryck | 1 | -0/+18 |
2018-08-25 | add support for mode __byte__ | Luc Van Oostenryck | 1 | -0/+2 |
2018-08-25 | add support for mode __pointer__ | Luc Van Oostenryck | 1 | -1/+17 |
2018-08-25 | mode keywords don't need MOD_{CHAR,LONG,...} | Luc Van Oostenryck | 1 | -12/+12 |
2018-08-24 | Merge branches 'optim-trunc-or' and 'optim-mask-shift-or' into tip | Luc Van Oostenryck | 5 | -22/+61 |
2018-08-24 | simplify TRUNC(SHIFT(a | b, S), N) | Luc Van Oostenryck | 3 | -2/+6 |
2018-08-24 | simplify AND(SHIFT(a | b, S), M) | Luc Van Oostenryck | 3 | -2/+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 | 5 | -4/+8 |
2018-08-22 | Merge branches 'optim-shift-and' and 'optim-bitfield' into tip | Luc Van Oostenryck | 39 | -45/+723 |
2018-08-22 | simplify ((x & M) << S) when (M << S) == (-1 << S) | Luc Van Oostenryck | 2 | -1/+2 |
2018-08-22 | simplify ((x & M) << S) when (M << S) == 0 | Luc Van Oostenryck | 2 | -1/+11 |
2018-08-22 | simplify ((x & M) >> S) when (M >> S) == (-1 >> S) | Luc Van Oostenryck | 2 | -1/+2 |
2018-08-22 | simplify ((x & M) >> S) when (M >> S) == 0 | Luc Van Oostenryck | 2 | -2/+5 |
2018-08-22 | use an intermediate mask in simplify_shift() | Luc Van Oostenryck | 1 | -3/+3 |
2018-08-22 | add testcases for {LSR,SHL}(AND(x, M), S) with shared AND(x, M) | Luc Van Oostenryck | 4 | -0/+66 |
2018-08-22 | simplify SHL((x & M') | y, S) | Luc Van Oostenryck | 8 | -7/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) != C | Luc Van Oostenryck | 2 | -1/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) == M | Luc Van Oostenryck | 2 | -1/+4 |
2018-08-22 | simplify OP((x | C), K) when (C & M) == 0 | Luc Van Oostenryck | 3 | -2/+9 |
2018-08-22 | simplify OP(((x & M') | y), K) when (M' & M) != M' | Luc Van Oostenryck | 4 | -3/+5 |
2018-08-22 | simplify OP(((x & M') | y), K) when (M' & M) == M | Luc Van Oostenryck | 4 | -3/+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 | 4 | -5/+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-22 | add testcases for bitfield & AND/OR simplification | Luc Van Oostenryck | 36 | -0/+625 |
2018-08-22 | add testcase for (((x & M') | (y & M'')) & M) | Luc Van Oostenryck | 2 | -0/+23 |
2018-08-21 | doc: add doc for simplification notation | Luc Van Oostenryck | 2 | -0/+29 |
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 |