Remove sound ShlExpr optimisation that causes problems with the solver. This is NOT A GOOD FIX.
Instead the solver should be fixed but this will do for now!
Patch by Dan Liew which improves the logging options: "Removed
-use-query-pc-log and -use-stp-query-pc-log and replaced with better
command line option -use-query-log=option.  Multiple comma seperated
options can be specified after -use-query-log=.  In addition queries
can now be logged in SMT-LIBv2 format as well as KQuery format. The
names of logging files has changed and also KLEE now informs users
which files are being written to.

Because of the changes the test/Feature/ExprLogging.c test broke so it
was necessary to fix it."

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@166565 91177308-0d34-0410-b5e6-96231b3b80d8

Conflicts:

	lib/Core/Executor.cpp
Patch by Tomasz Kuchta adding a new option (min-query-time-to-log) that enables KLEE to log only the queries exceeding a certain duration, or only those that time out.

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@171385 91177308-0d34-0410-b5e6-96231b3b80d8
Patch by Dan Liew: "Added support for generating .smt2 files when
writing out test cases (option --write-smt2s) in KLEE."

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@166568 91177308-0d34-0410-b5e6-96231b3b80d8

Conflicts:

	lib/Core/Executor.cpp
	tools/klee/main.cpp
This is a combination of 3 commits. I did this because some commit woulds not compile.
The first commit's message is:
Patch by Tomasz Kuchta that refactors the logging code, by introducing a new logging class hierarchy.

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@171387 91177308-0d34-0410-b5e6-96231b3b80d8

Conflicts:

	test/Feature/ExprLogging.c

This is the 2nd commit message:

Forgot to add QueryLoggingSolver in patch 171387 from Tomasz Kuchta.

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@171392 91177308-0d34-0410-b5e6-96231b3b80d8

This is the 3rd commit message:

Patch by Tomasz Kuchta adding more detailed information on query failures.

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@171391 91177308-0d34-0410-b5e6-96231b3b80d8

Conflicts:

	lib/Solver/Solver.cpp
Bug fix by Jonathan Neuschäfer: "Without this patch
NotExpr::computeHash() will have a local variable with the name
"hashValue" and assign the newly computed hash to that instead of the
member variable with the same name that should be set by the
computeHash method of every Expr subclass."

git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@186102 91177308-0d34-0410-b5e6-96231b3b80d8