aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2018-06-08builtin: add support for __has_builtin()Luc Van Oostenryck6-0/+85
2018-06-08extract replace_with_bool() from replace_with_defined()Luc Van Oostenryck1-3/+7
2018-06-08builtin: add support for __builtin_{add,sub,mul}_overflow(), ...Luc Van Oostenryck2-0/+317
2018-06-08builtin: rename arguments_choose() to args_triadic()Luc Van Oostenryck1-2/+2
2018-06-08builtin: declare __builtin_[us]{add,sub,mul}{,l,ll}_overflow()Luc Van Oostenryck1-0/+18
2018-06-08builtin: add builtin types {u,}{int,long,long}_ptr_ctypeLuc Van Oostenryck2-0/+12
2018-06-04dyn-macro: add real support for __BASE_FILE__Luc Van Oostenryck6-3/+34
2018-06-04dyn-macro: add support for __INCLUDE_LEVEL__Luc Van Oostenryck4-0/+28
2018-06-04dyn-macro: use a table to expand __DATE__, __FILE__, ...Luc Van Oostenryck4-27/+58
2018-06-04dyn-macro: add testcase for __LINE__ & friendsLuc Van Oostenryck1-0/+30
2018-06-04Merge branches 'label-redef', 'goto-reserved', 'errmsg-builtin-pos', 'fix-bui...Luc Van Oostenryck21-57/+523
2018-06-04add test for integer-const-expr-nessLuc Van Oostenryck1-0/+85
2018-06-01avoid multiple error message after parsing errorLuc Van Oostenryck2-1/+9
2018-06-01give a position to end-of-inputLuc Van Oostenryck3-2/+13
2018-06-01fix crash on 'goto <reserved word>'Luc Van Oostenryck2-1/+13
2018-06-01fix typing of __builtin_expect()Luc Van Oostenryck2-8/+102
2018-05-27Merge branch 'vla-sizeof' into tipLuc Van Oostenryck7-0/+156
2018-05-27vla-sizeof: add support for sizeof of VLAsLuc Van Oostenryck6-5/+32
2018-05-27vla-sizeof: add test casesLuc Van Oostenryck6-0/+129
2018-05-26label: avoid multiple definitionsLuc Van Oostenryck2-4/+6
2018-05-26label: add testcase for label redefinitionLuc Van Oostenryck1-0/+18
2018-05-26context: extra warning for __context__() & friendsLuc Van Oostenryck2-0/+21
2018-05-26context: stricter syntax for __context__ statementLuc Van Oostenryck2-13/+30
2018-05-26context: fix crashes while parsing '__context__;' or '__context__(;'Luc Van Oostenryck2-1/+10
2018-05-26context: __context__(...) expect a constant expressionLuc Van Oostenryck2-5/+20
2018-05-26context: fix parsing of attribute 'context'Luc Van Oostenryck2-32/+53
2018-05-26add helper for new parsing errors: unexpected()Luc Van Oostenryck2-1/+18
2018-05-21Merge branch 'doc-sphinx' into tipLuc Van Oostenryck27-258/+1387
2018-05-21autodoc: add autodoc tests in the testsuiteLuc Van Oostenryck2-1/+178
2018-05-21autodoc: document a few more APIs to test multilineLuc Van Oostenryck3-2/+41
2018-05-21autodoc: support muti-line param & return descriptionsLuc Van Oostenryck1-3/+17
2018-05-21autodoc: add a small cheatsheet for reST markupLuc Van Oostenryck1-0/+119
2018-05-21autodoc: by default disable syntax highlightingLuc Van Oostenryck1-0/+2
2018-05-21autodoc: doc the docLuc Van Oostenryck2-0/+33
2018-05-21autodoc: add markup to argument's referencesLuc Van Oostenryck1-0/+7
2018-05-21autodoc: add doc from ptrlist.cLuc Van Oostenryck2-0/+12
2018-05-21autodoc: add a sphinx c:autodoc directive for the extracted docLuc Van Oostenryck2-3/+56
2018-05-21autodoc: convert extracted doc to reSTLuc Van Oostenryck1-13/+59
2018-05-21autodoc: extract doc from the C filesLuc Van Oostenryck2-0/+198
2018-05-21doc: add structured doc to ptrlist.cLuc Van Oostenryck1-18/+79
2018-05-21api: move evaluate interface to its own header fileLuc Van Oostenryck8-4/+19
2018-05-21doc: use reST for manpagesLuc Van Oostenryck3-43/+46
2018-05-21doc: format dev-options.md as a man pageLuc Van Oostenryck4-8/+22
2018-05-21doc: the testsuite doc in reSTLuc Van Oostenryck3-151/+170
2018-05-21doc: move sparse.txt to markdown and rename itLuc Van Oostenryck3-45/+48
2018-05-21doc: allow .md with py3-sphinxLuc Van Oostenryck1-3/+10
2018-05-21doc: set primary domain to CLuc Van Oostenryck1-0/+3
2018-05-21doc: automatically get the versionLuc Van Oostenryck1-3/+3
2018-05-21doc: automatically set the copyright dateLuc Van Oostenryck1-1/+2
2018-05-21doc: add logoLuc Van Oostenryck2-1/+95
2018-05-21doc: add minimal support for sphinx-docLuc Van Oostenryck4-0/+210
2018-05-21doc: fix headingsLuc Van Oostenryck1-3/+2
2018-05-21doc: fix markdown syntaxLuc Van Oostenryck1-11/+11
2018-05-19increment the version number suffix it with -devLuc Van Oostenryck1-1/+1
2018-05-19Merge branch 'next' into officialLuc Van Oostenryck270-1931/+8106
2018-05-06Merge branches 'unop', 'describe-dirty', 'range-syntax', 'old-testcases', 'fi...Luc Van Oostenryck22-27/+225
2018-05-06use function-like syntax for __range__Luc Van Oostenryck3-1/+58
2018-05-06OP_SYMADDR is simply an unopLuc Van Oostenryck1-1/+3
2018-05-06fix: remove usage when killing symaddr (part 2)Luc Van Oostenryck1-1/+1
2018-05-06fix: remove usage when killing symaddr (part 1)Luc Van Oostenryck1-0/+1
2018-05-06fix comment about PSEUDO_SYM usageLuc Van Oostenryck1-1/+1
2018-05-06fix missing checks for deleted instructionsLuc Van Oostenryck2-0/+4
2018-05-06fix: don't dump pointer value in error messageLuc Van Oostenryck1-1/+1
2018-05-06alloc: check if size is too bigLuc Van Oostenryck1-0/+2
2018-05-06add test case bug expand unionLuc Van Oostenryck2-0/+41
2018-05-05Merge branches 'no-path-max', 'vcompound' and 'build-x32' into tipLuc Van Oostenryck12-17/+240
2018-05-04teach sparse about _Floatn and _FloatnxLuc Van Oostenryck3-0/+22
2018-05-04testsuite: add check-assertLuc Van Oostenryck2-0/+16
2018-05-04sparse: option to print compound global data symbol infoRandy Dunlap4-0/+124
2018-05-04testsuite: add check-cp-ifLuc Van Oostenryck2-0/+18
2018-05-04fix build on Hurd which doesn't define PATH_MAXLuc Van Oostenryck1-0/+4
2018-05-01build: use --dirty with 'git describe'Luc Van Oostenryck1-1/+1
2018-05-01let cgcc use sparse's predefines for i386 & x86-64Luc Van Oostenryck1-9/+2
2018-05-01build: disable LLVM on x86-64-x32Luc Van Oostenryck1-0/+3
2018-05-01build: use 'filter' to do pattern matching inside the MakefileLuc Van Oostenryck1-1/+1
2018-05-01build: use a variable for $(shell uname -m)Luc Van Oostenryck1-2/+3
2018-05-01use also __x86_64 when __x86_64__ is usedLuc Van Oostenryck1-2/+3
2018-05-01do not to ignore old preprocessor testcasesLuc Van Oostenryck2-14/+27
2018-05-01fix: warn on typedef redefinitionLuc Van Oostenryck2-1/+4
2018-05-01export check_duplicates()Luc Van Oostenryck2-1/+2
2018-05-01add testcase for typedef redefinitionLuc Van Oostenryck2-0/+27
2018-05-01add testcase for array size type differenceLuc Van Oostenryck1-0/+12
2018-05-01add testcase for enum / int type differenceLuc Van Oostenryck1-0/+34
2018-05-01add a flag -mx32 ILP32 env on 64 bit archsLuc Van Oostenryck1-0/+12
2018-05-01use an enum for ARCH_LP32 & friendsLuc Van Oostenryck1-3/+5
2018-04-30add testcases for verifying ABI's integer size & alignLuc Van Oostenryck1-0/+31
2018-04-30fix alignment of 64 bit integers on LLP64Luc Van Oostenryck1-1/+1
2018-04-30default to LP64 for all and only for 64 bit ABIsLuc Van Oostenryck1-1/+1
2018-04-11sparse: add -Wpointer-arith flag to toggle sizeof(void) warningsJoey Pabalinas5-2/+64
2018-04-11doc: copy-edit text related to applying sizeof to a _BoolJoey Pabalinas3-3/+3
2018-04-11use -Wpointer-arith for testsLuc Van Oostenryck1-1/+1
2018-04-04graph: do not use insn->symbol for memopsLuc Van Oostenryck1-4/+4
2018-04-04fix missing handling of OP_FNEGLuc Van Oostenryck2-2/+3
2018-03-24Sparse v0.5.2v0.5.2Luc Van Oostenryck1-1/+1
2018-03-19doc: document the debug flagsLuc Van Oostenryck1-0/+6
2018-03-19doc: options.md is for developmentLuc Van Oostenryck1-4/+3
2018-03-18avoid deadborn loads & storesLuc Van Oostenryck1-1/+11
2018-03-18fix-return: remove special case for single returnLuc Van Oostenryck3-11/+5
2018-03-18defer initialization of bb::contextLuc Van Oostenryck2-1/+1
2018-03-18alloc: add missing #include "compat.h"Luc Van Oostenryck1-0/+2
2018-03-18small code reorg of add_store()Luc Van Oostenryck1-8/+9
2018-03-18extract alloc_phisrc() from alloc_phi()Luc Van Oostenryck2-10/+18
2018-03-18show_label: add (and use) show_label()Luc Van Oostenryck3-17/+27
2018-03-18add remove_use()Luc Van Oostenryck2-0/+9
2018-03-18make remove_usage() more genericLuc Van Oostenryck1-3/+8
2018-03-17optim: simplify null selectLuc Van Oostenryck2-0/+22
2018-03-17add an helper to test the value of a pseudo against zeroLuc Van Oostenryck1-0/+11
2018-03-14optim: fix REPEAT_CFG_CLEANUPLuc Van Oostenryck1-3/+3
2018-03-14optim: load simplification should repeat optimizationLuc Van Oostenryck1-1/+5
2018-03-14optim: pack bb must set REPEAT_CFGLuc Van Oostenryck1-1/+1
2018-03-14optim: fix optimization loop's conditionLuc Van Oostenryck1-2/+2
2018-03-14optim: no need to kill_unreachable_bbs() after main loopLuc Van Oostenryck1-1/+0
2018-03-14optim: kill unreachable BBS after CFG simplificationLuc Van Oostenryck3-2/+4
2018-03-14optim: add timeout for infinite optim loop testsLuc Van Oostenryck2-0/+2
2018-03-14optim: add testcase for internal infinite loopLuc Van Oostenryck1-0/+18
2018-03-14optim: add some more optimization testsLuc Van Oostenryck2-0/+42
2018-03-14cleanup deadborn phi-sourcesLuc Van Oostenryck2-0/+22
2018-03-11fix symbol cleanupLuc Van Oostenryck2-1/+2
2018-03-11fix address_taken()Luc Van Oostenryck3-1/+21
2018-03-11taint: let check_access() warn just onceLuc Van Oostenryck2-1/+20
2018-03-11add a field 'tainted' to struct instructionLuc Van Oostenryck1-1/+2
2018-03-11testsuite: fix problem with double-escaping in patternsLuc Van Oostenryck19-29/+29
2018-03-11llvm: fix typo for constant addressesLuc Van Oostenryck1-1/+2
2018-03-03bump up version to 0.5.2-RC1v0.5.2-rc1Luc Van Oostenryck1-1/+1
2018-03-03llvm: normalize sparse-llvm-dis' outputLuc Van Oostenryck1-1/+1
2018-03-02By default disable the warning flag '-Wunknown-attribute'Luc Van Oostenryck2-5/+1
2018-03-02Revert "Give the constant pseudo value a size"Luc Van Oostenryck6-42/+32
2018-03-01IR: let OP_COMPUTEGOTO use .src instead of .targetLuc Van Oostenryck3-7/+4
2018-03-01IR: let .cond unionize with .src and not .targetLuc Van Oostenryck3-6/+5
2018-03-01IR: remove never-generated instructionsLuc Van Oostenryck5-43/+1
2018-03-01IR: remove now unused OP_LNOP & OP_SNOPLuc Van Oostenryck7-25/+3
2018-03-01IR: fix typo in IR docLuc Van Oostenryck1-1/+1
2018-02-27testsuite: add testcase about CSE problemLuc Van Oostenryck1-0/+18
2018-02-27testsuite: add testcase for some random crashLuc Van Oostenryck1-0/+11
2018-02-27Fix crash cause by previous pseudo size changeChristopher Li1-5/+3
2018-02-24remove unneeded cast in calls to free_ptr_list()Luc Van Oostenryck2-2/+2
2018-02-24fix accesses through incorrect union membersJann Horn2-7/+7
2018-02-24move the inner optimization loop into the main loopLuc Van Oostenryck1-19/+12
2018-02-24move inner optimization loop into optimize.cLuc Van Oostenryck3-37/+38
2018-02-24move liveness interface to its own headerLuc Van Oostenryck4-4/+13
2018-02-24expose interface to CSELuc Van Oostenryck2-2/+14
2018-02-24extract cse_eliminate() from cleanup_and_cse()Luc Van Oostenryck1-7/+13
2018-02-24cse: untangle simplification & hashingLuc Van Oostenryck1-8/+6
2018-02-24move the optimization loop in its own fileLuc Van Oostenryck4-62/+88
2018-02-24rename variable 'optimize' to 'optimize_level'Luc Van Oostenryck2-4/+4
2018-02-24testsuite: fix typo with 'test-suite format -a'Luc Van Oostenryck1-1/+1
2018-02-24'amd64' is also ok for sparse-llvmLuc Van Oostenryck1-1/+1
2018-02-24Update gcc attribute listChristopher Li1-0/+11
2018-02-24sparse: ignore indirect_branch attributeRandy Dunlap1-0/+1
2018-02-23Merge remote-tracking branch 'chrisl/pseudo-sized-value-v2'Christopher Li6-32/+44
2018-02-20ban use of 'true' or 'false'Luc Van Oostenryck10-70/+68
2018-02-20build: use -MMD for generated dependenciesLuc Van Oostenryck1-2/+2
2018-02-20build: add -MP for generated dependenciesLuc Van Oostenryck1-2/+2
2018-02-20use '%lld' for printing long longsLuc Van Oostenryck1-2/+2
2018-02-20no need for signed & unsigned multiplicationLuc Van Oostenryck9-34/+19
2018-02-20unsigned multiplication is also associativeLuc Van Oostenryck1-1/+1
2018-02-17builtin: add testcases for expansion of FP classificationLuc Van Oostenryck4-0/+86
2018-02-17builtin: add testcases for expansion of special FP constantsLuc Van Oostenryck2-0/+62
2018-02-17builtin: add typechecking of isnan(), isinf(), ...Luc Van Oostenryck2-0/+125
2018-02-17builtin: extract eval_args() from arguments_choose()Luc Van Oostenryck1-19/+30
2018-02-17builtin: make builtins more builtinLuc Van Oostenryck4-155/+187
2018-02-17builtin: add ctype for const {void,char} *Luc Van Oostenryck2-0/+9
2018-02-17add __builtin functions for isinf_sign, isfinite and isnanLogan Gunthorpe2-0/+6
2018-02-17rename base_type() to bitfield_base_type()Luc Van Oostenryck1-5/+5
2018-02-17let struct access_data use a single typeLuc Van Oostenryck1-23/+21
2018-02-17use show_pseudo() for OP_SYMADDR's symbolLuc Van Oostenryck1-16/+3
2018-02-17show_pseudo(): protect against NULL ->symLuc Van Oostenryck1-0/+4
2018-02-17llvm: initialize at declaration timeLuc Van Oostenryck1-12/+5
2018-02-17llvm: use list_size() to count the numbers of argumentsLuc Van Oostenryck1-7/+2
2018-02-16cleanup: remove unused 'struct pseudo_ptr_list'Luc Van Oostenryck1-6/+0
2018-02-16Merge branches 'fix-converted-loads', 'kill-deadborn-loads', 'kill-dead-loads...Luc Van Oostenryck10-49/+112
2018-02-16no repetition in unknown attribute warning messageLuc Van Oostenryck2-2/+2
2018-02-15By default disable the warning flag '-Wunknown-attribute'Luc Van Oostenryck2-5/+1
2018-02-14fix: missing evaluate with '-include'Luc Van Oostenryck2-1/+14
2018-02-14fix: missing evaluate with '-include' : add testcaseLuc Van Oostenryck2-0/+19
2018-02-14kill dead stores when simplifying symbolsLuc Van Oostenryck3-24/+5
2018-02-14kill dead loadsLuc Van Oostenryck3-1/+41
2018-02-14fix usage of deadborn loadsLuc Van Oostenryck2-1/+10
2018-02-14fix killing of converted loadsLuc Van Oostenryck3-4/+26
2018-02-14add testcases for converted loadsLuc Van Oostenryck1-0/+15
2018-02-13sparse: ignore indirect_branch attributeRandy Dunlap1-0/+1
2018-02-13let kill_instruction() report if changes were madeLuc Van Oostenryck2-14/+13
2018-02-13use has_users() in dead_insn() tooLuc Van Oostenryck1-5/+2
2018-02-13add helper: has_users()Luc Van Oostenryck1-0/+5
2018-02-13add helper for pseudo's user-list's sizeLuc Van Oostenryck2-2/+7
2018-02-11add testcase for bad killing of dominated storesLuc Van Oostenryck1-0/+16
2018-02-11fix missing checks for deleted instructionsLuc Van Oostenryck2-4/+31
2018-02-10fix dead dominatorLuc Van Oostenryck2-2/+1
2018-02-10add testcase of dead dominatorLuc Van Oostenryck1-0/+19
2018-02-08Merge branches 'cse-setfval' and 'extract-eval' into tipLuc Van Oostenryck14-203/+331
2018-02-06extract extract eval_insn() from simplify_constant_binop()Luc Van Oostenryck1-113/+128
2018-02-05fix examination of bad typeofLuc Van Oostenryck2-1/+20
2018-02-01always evaluate both operandsLuc Van Oostenryck1-9/+9
2018-02-01do not report bad types twiceLuc Van Oostenryck2-2/+6
2018-02-01add helpers: valid_expr_type() & valid_subexpr_type()Luc Van Oostenryck1-0/+11
2018-02-01use valid_type to avoid to warn twice on conditionalsLuc Van Oostenryck2-2/+1
2018-02-01add helper: valid_type()Luc Van Oostenryck1-0/+5
2018-02-01early return if null ctype in evaluate_conditional()Luc Van Oostenryck1-17/+15
2018-02-01fix error in bad conditionalLuc Van Oostenryck2-2/+3
2018-02-01add testcases for duplicated warning about invalid typesLuc Van Oostenryck3-0/+50