Age | Commit message (Collapse) | Author |
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@79217 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Precomputed constants were being truncated to 32-bits!
- This was actually the problem with new[]/delete[], I failed to look at the
generated code for new[] to realize that the compiler is generating the
offset pointer, not the runtime library.
- All tests now pass on x86-64!
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77930 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77922 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Based on a patch by Vladimir Kuznetsov!
- x86_64 has a complicated calling convention for va_args; instead of dealing
with this, this patch uses a clever workaround by initializing the va_list
structure so that the callee believes all arguments were passed in the stack
save area.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77819 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77816 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
to target pointer width.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77428 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
target.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77310 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
data.
- This is the first step towards having KLEE be fully target independent, its not
particularly beautiful but its expedient.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77306 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77049 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- This dance is getting old.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77029 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@75826 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@75425 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Not will become bitwise not.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@75224 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Incomplete, still have to move some conversion operations.
- Also, there isn't support yet for copying long double values to native
memory.
- Still, should be a monotonic improvement and we are no longer faking long
double support.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@74363 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Allow constructing a ConstantExpr from an APInt, too painful otherwise.
- Parser support for large integers.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@74278 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
creation).
- Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@74142 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@74075 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73348 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Change Executor::evalConstant to return ConstantExpr.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73337 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73330 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- We can safely assume for now that array indices are within 32-bits (we will
enforce this even on 64-bit targets).
- We can also safely assume that address fit in 64-bits.
- Always look up function pointers using 64-bits.
- Protect a few other places by explicit checks that the type is <= 64-bits,
when we can fallback to a safe path.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73328 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
64-bit addresses).
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73327 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- For use in situations where the range of the constant is known to fit in a
uint64 (or smaller), or the extra bits don't matter.
- No (intended) functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73326 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Reducing uses of getConstantValue() so we can move to arbitrary precision
constants.
- No (intended) functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73324 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- No (intended) functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73322 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Currently uses a dumb implementation which keeps the old flushing
architecture, but converts to a constant array when the first ReadExpr is
created.
- Temporary --use-constant-arrays switch can be used to disable for testing.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73313 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73308 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
skipping forks without reporting it. Added a warning the first time a
fork is skipped for each of four different reasons.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73307 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
symbolic Array.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73161 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73160 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- The sole remaining client was IVC, which is currently disabled for other
correctness issues. I patched it to compile and left a FIXME that we will
have to resolve this before we can reenable IVC.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73129 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
asserts.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72924 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Please update & rebuild LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72919 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Propogate ConstantExpr to various places, or cast as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72862 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72860 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- These should use cast<>, isa<>, or dyn_cast<> as appropriate (or better yet,
changed to use ref<ConstantExpr> when the type is known).
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72857 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Ref.h is now freestanding.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72824 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
more standard reference counting wrapper.
- The only interesting changes here are in Ref.h, everything else is just
updating foo.method to use foo->method instead.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72777 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
renaming of '08.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72748 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- The "constant optimization" embedded inside ref<Expr> is going away.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72730 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72693 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Add get{Dest,Argument}Cell for computing the cell to store instructions results
and arguments into, respectuvely.
Prep for moving fast path constant evaluation out of the Expr libraary itself.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72692 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
backward compatibility. Also changed KLEE_RUNTEST to KTEST_FILE. Updated tutorial-1.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72312 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
- Lots more tweaks, documentation, and web page content is needed,
but this should compile & work on OS X & Linux.
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72205 91177308-0d34-0410-b5e6-96231b3b80d8
|