Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - About

Console View

Legend:   Passed Failed Failed Again Running Exception Offline No data

150355 pcc
Teach KLEE how to handle new ConstantDataSequential type.

Patch by arrowdodger!
150354 pcc
Update for LLVM changes - there is no more "unwind" instruction.

Patch by arrowdodger!
149528 dyatkovskiy
Second compatability fix for SwitchInst refactoring (added compatability with llvm versions < 3.1).
149484 dyatkovskiy
Compatability fix for SwitchInst refactoring.

The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want.

What was done:

1. Changed semantics of index inside the getCaseValue method:
getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous.
2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned.
3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment.
4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst.
4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor.
4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor.

Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang.

  • klee-2.7-x86_64-linux: compile klee failed -  stdio
148961 cristic
Patch from Ben Gras which "makes Klee look for the libraries in the
install location instead of the compile-tree location if a
compile-time macro is enabled."

148405 cristic
Updated uclibc archives to work with current installation instructions.
148402 cristic
Nice patch by Gang Hu, Heming Cui and Junfeng Yang fixing a memory
leak in KLEE.

From Gang Hu: "The memory leak is caused by two reasons.  First, the
MemoryObject objects are not freed, until the MemoryManager is
destroyed.  Second, when KLEE allocates a non-fixed MemoryObject
object, KLEE also allocates a block of memory which is the same as the
object's size. This block of memory is never freed.  So, this patch
generally does reference counting on the MemoryObject objects, and
frees them as soon as the reference count drops to zero."

Many thanks to Paul Marinescu as well, who tested this patch
thoroughly on the Coreutils benchmarks.  On 1h runs, the memory
consumption typically goes down by 1-5%, but some applications which
see more significant gains.

146741 cristic
Fixed help message in klee-stats.
146510 pcc
Fix STPBuilder::getShiftBits for non-power-of-2 bitwidths up to 64.

(Yes, we should really be handling more bitwidths here.)
146353 cristic
Patch by Ben Gras for MINIX: no stat64 under MINIX.
146352 cristic
Patch by Ben Gras fixing a few minor issues: adds missing includes,
fixes the ntohs prototype in klee-libc, and removes some unused code.
146351 cristic
Patch by Paul Marinescu that fixes an issue causing KLEE to fail on some platforms with
KLEE: ERROR: unable to load symbol(__dso_handle) while initializing globals.

146350 cristic
This is a workaround for the infinite loop reported at
http://keeda.stanford.edu/pipermail/klee-dev/2011-August/000723.html

KLEE needs to use --fno-builtin when compiling its version of memset.
However, this patch also adds the workaround suggested by Paul in the
thread above, since support for --fno-builtin was added to llvm-gcc only
after LLVM 2.9 was released.

More details about this issue can be found here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110411/119376.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110711/124131.html

Thanks to Paul and arrowdodger for their explanations and patches.

146178 pcc
Update for changes in LLVM trunk.  Original patch by arrowdodger!
145365 pcc
Updates for LLVM 3.1.
144295 cristic
Added new publication from Columbia.
143693 cristic
Patch by Tom Bergan that fixes multi-byte reads on big-endian architectures.
142310 ddunbar
Fix some -Wunused-variable warnings.
140602 cristic
Changed Tutorial 1, which was causing confusion due to differences in
LLVM code generation before and after LLVM 2.8.
139045 cristic
Applied patch from David Ramos that fixes a bug in minDistToUncovered
  calculation: "Functions with a single instruction were erroneously
  treated as never returning. This propagated far, making many
  instructions unreachable according to this metric."

139026 pcc
Update location of TargetSelect.h and TargetRegistry.h for LLVM 3.0+
138232 cristic
Added new publication from RWTH Aachen.
137116 pcc
Disable the LowerSetJmpPass on LLVM 3.0+
136605 pcc
Make the Executor capable of handling bitcasts of aliases, by rewriting the
direct function call logic.
136474 pcc
Sign extend, rather than zero extend, narrow gep indices

For example, clang creates these for ++ and -- operations on pointers
on 64-bit platforms.