417 Commits (ce39017611675e487b796bd3c2287cdeb73c452e)

Author SHA1 Message Date
Josh Berdine 799b21761f [sledge] Translate ExtractElement and InsertElement despite being vector
5 years ago
Scott Owens 3080fba8fa [sledge sem] Update LLVM and LLAIR sem for consistent stuckness
5 years ago
Scott Owens 14a8ae34b9 [sledge sem] Improve and unify treatment of Exit
5 years ago
Scott Owens 5312b3d10c [sledge sem] Fix trans. invariant for llair expressions
5 years ago
Scott Owens 9f2f14b34c [sledge sem] Sketch out translation correctness
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Josh Berdine ef78ba83cf [sledge] Report the number of alarms
5 years ago
Josh Berdine ec52c05c30 [sledge][NFC] Minor simplification for singleton sets
5 years ago
Josh Berdine 239d906ab6 [sledge] Improve tracing and debugging support
5 years ago
Josh Berdine 3f5adecdcf [sledge] Exec.exec_specs missed vocabulary extension
5 years ago
Josh Berdine 9ac854c970 [sledge] Exec.kill should preserve vocabulary
5 years ago
Josh Berdine 8097f1a6df [sledge] Adjust tests to match harnesses
5 years ago
Josh Berdine b2f90a3994 [sledge] Treat freturn directly in Dom.call
5 years ago
Josh Berdine fbf0fe2f1a [sledge][NFC] Rename args to actuals
5 years ago
Josh Berdine d3d0c4b36e [sledge][NFC] Rename params to formals
5 years ago
Josh Berdine 69c29ab3d8 [sledge][NFC] Label args of Domain.call
5 years ago
Josh Berdine 47766a0e6e [sledge] Drop globals with appending linkage and size 0
5 years ago
Josh Berdine 1efd0df035 [sledge] Avoid potential name clash between trampolines
5 years ago
Josh Berdine ebee451f1c [sledge] Improve test scripts
5 years ago
Josh Berdine 38cab376f6 [sledge] Keep BitCasts and similar in expressions
5 years ago
Josh Berdine b632d4f283 [sledge] Check the input datalayout agrees with assumptions
5 years ago
Josh Berdine 6328a6ce40 [sledge] Do not store size of globals separately
5 years ago
Josh Berdine ca95fc098f [sledge] Keep size in both bits and bytes for each type
5 years ago
Josh Berdine d3bad1ce44 [sledge] Add sizes to types
5 years ago
Josh Berdine 6120b7d098 [sledge] Use the configured margin when formatting failure messages
5 years ago
Josh Berdine a386b36616 [sledge] Re-add Splat expression for zero-initialized aggregates
5 years ago
Josh Berdine 727385d853 [sledge] Relax Typ.is_sized to allow opaque types
5 years ago
Josh Berdine f804220cd2 [sledge] Revise order of Term constructors for polynomial normalization
5 years ago
Josh Berdine 1ef390ffca [sledge] Relax Exp type-checking to be modulo-casting
5 years ago
Josh Berdine fb184a6a1d [sledge] Introduce the notion of types having the same semantics
5 years ago
Josh Berdine 917cc62e28 [sledge] Fix type of functions called using a cast
5 years ago
Josh Berdine ce3252c348 [sledge] Allow global variables as function names
5 years ago
Josh Berdine 785928c77e [sledge] Error reporting improvements
5 years ago
Josh Berdine ffeef16aae [sledge] Add a flag to disable internalization
5 years ago
Josh Berdine 6ca09b14fd [sledge] Add flag to disable linking in the models
5 years ago
Josh Berdine f699c9b9a8 [sledge] Simplify ¬¬e to e
5 years ago
Josh Berdine 06f2863dd8 [sledge] Simplify `e xor e` to `0`
5 years ago
Josh Berdine 6f84787b19 [sledge] Change exec_inst to return an option instead of a result
5 years ago
Josh Berdine 2840eb4781 [sledge] Refactor dispatch on instruction from Exec to Sh_domain
5 years ago
Josh Berdine c6d7886fd8 [sledge] Make type of exec_move consistent with move instruction
5 years ago
Josh Berdine 162f027249 [sledge] Make type argument of Exp constructors optional where computable
5 years ago
Josh Berdine ad5d5dd89e [sledge] Add Exp.true_ and Exp.false_
5 years ago
Josh Berdine 37d1904bd3 [sledge] Move check for whether a variable is global from Reg to Var
5 years ago
Josh Berdine 3003a8e646 [sledge] NFC minor cleanups
5 years ago
Josh Berdine 8ee0c67d1f [sledge] Precompute the Term form of each Exp, and add it to Exp.t
5 years ago
Josh Berdine 9ddfae4e89 [sledge] Change Term.rename to preserve sharing in cyclic records
5 years ago
Josh Berdine 7ecd091ff3 [sledge] Change Struct_rec to a generic n-ary recursive application
5 years ago
Josh Berdine 356b4f0b4e [sledge] Uncurry Record term constructor
5 years ago
Josh Berdine 99b60d191a [sledge] Fix sorting of heap block subformulas when printing
5 years ago
Josh Berdine 1228c8e31b [sledge] Uncurry Update term constructor, and specialize index to int
5 years ago
Josh Berdine 09daac754c [sledge] Uncurry Select term constructor, and specialize index to int
5 years ago
Josh Berdine 5eaae07043 [sledge] Change Concat term contructor to a generic n-ary application
5 years ago
Josh Berdine 6cd82475f1 [sledge] Use generic binary application for Splat and Memory term constructors
5 years ago
Josh Berdine 6805da9557 [sledge] Uncurry ternary term constructors
5 years ago
Josh Berdine 167e489e24 [sledge] Uncurry binary term constructors
5 years ago
Josh Berdine 8b9d4ba066 [sledge] Uncurry unary term constructors
5 years ago
Josh Berdine e87a0533be [sledge] Minor simplification of polynomial representation
5 years ago
Josh Berdine 3bbb05216f [sledge] Remove the redundancy of both < and >= terms
5 years ago
Josh Berdine a3506f995c [sledge] Simplify arithmetic terms due to not needing type
5 years ago
Josh Berdine 471d296266 [sledge] Fix check for range of representable integers
5 years ago
Josh Berdine c440c4fc28 [sledge] Remove unsigned Term operations except Extract
5 years ago
Josh Berdine e84f3fcf0f [sledge] Add Extract term
5 years ago
Josh Berdine 5753f9b26a [sledge] Rename clamp to extract
5 years ago
Josh Berdine d7ef03cf02 [sledge] Revise and fix unsigned conversions
5 years ago
Josh Berdine 7f2165484b [sledge] Do not special case boolean vs bitwise operations
5 years ago
Josh Berdine 8abfcfb504 [sledge] Simplify normalization of shift operations
5 years ago
Josh Berdine e3f0ba8c54 [sledge] Revise program expressions
5 years ago
Josh Berdine 00639e15bb [sledge] Delay normalization of xor to equality
5 years ago
Josh Berdine 0e4110fc5c [sledge] Normalize xor and equality based on type instead of bitwidth
5 years ago
Josh Berdine 0903355a0e [sledge] Remove unused Exp constructors for memory exps
5 years ago
Josh Berdine 3b03022b5e [sledge] Remove redundant Reg.id
5 years ago
Josh Berdine 310d00f380 [sledge] Remove dead code in Exp and Term
5 years ago
Josh Berdine 442c8e92f4 [sledge] Distinguish program expressions and formula terms
5 years ago
Josh Berdine 13c06e4dd3 [sledge] Move generation of formal return and throw parameters to frontend
5 years ago
Josh Berdine 0c04ecc9aa [sledge] Change Llair representation of functions to a String map
5 years ago
Josh Berdine 6aaeaba104 [sledge] Move ops on signed 1-bit Z integers to import
5 years ago
Josh Berdine ed733f0247 [sledge] Add missing import of trace into symbheap
5 years ago
Josh Berdine 1fdc76d163 [sledge] Rename State_domain back to Sh_domain
5 years ago
Josh Berdine c6b8b4688b [sledge] Move llvm build and install dirs out of llvm source tree
5 years ago
Scott Owens 5b7931e71a [sledge sem] Add a rudimentary theory of SSA
5 years ago
Scott Owens 71aa4816d6 [sledge sem] Fix the semantics and trans. of If
5 years ago
Scott Owens ab7233c5b8 [sledge sem] Refactor the way LLVM sem. does phis
5 years ago
Scott Owens 17b3c7a49f [sledge sem] Add top-level llair semantics
5 years ago
Scott Owens 30c301a3e8 [sledge sem] Add a more llair-like LLVM semantics
5 years ago
Benno Stein 7ec2830d92 [sledge] Only merge worklist states that share a calling context
5 years ago
Benno Stein e44827b892 [sledge] Add option to apply used-globals as pre-analysis
5 years ago
Benno Stein 1ab8359bc0 [sledge] fix bug spuriously marking a register as global variable
5 years ago
Benno Stein 637fff5247 [sledge] Check for intrinsic calls in used-globals analysis
5 years ago
Benno Stein 6592eb609f [sledge] Add option to skip recursive calls at depth bound
5 years ago
Benno Stein 00a5d3dd64 [sledge] Account for callees in used-globals analysis
5 years ago
Josh Berdine c131e2e669 [sledge] Use dune's Build_info for version reporting
5 years ago
Benno Stein 47f314c00e [sledge] Add used-globals abstract domain and transfer functions
5 years ago
Benno Stein 3dc0c5938f [sledge] Extract relational logic from Sh_domain, create "domain" module
5 years ago
Benno Stein 2acb1c3dee [sledge] Functorize worklist, separate out domain-specific logic
5 years ago
Scott Owens f298d728c5 [sledge sem] Start sketching translation correctness
5 years ago
Josh Berdine 72946c3be3 [sledge] Update dependencies
5 years ago
Scott Owens d864fb2c89 [sledge semantics] Add a rough draft llair semantics
5 years ago
Scott Owens 32983e129b [sledge semantics] Update expr transl. for cross-block
5 years ago
Scott Owens 9f44bbc264 [sledge semantics] Refactor the memory model
5 years ago
Josh Berdine 13fb57ec62 [sledge] Revise llvm to llair translation to avoid code duplication
5 years ago