add a -souper-no-infer command line option that is useful for quickly loading
LHSs into the cache

add a tool cache_infer that runs infer() on each LHS in the cache; this is
useful for doing synthesis work without dealing with the tedium of building
software

add a couple of "parse only" options to souper-check so that cache_dump can
ensure that cache LHSs parse without incurrent the cost of running the solver

remove the spinner from cache_dump

a bit of refactoring in cache_dump
Merge pull request #116 from regehr/noinfer

add a -souper-no-infer command line option that is useful for quickly...
sometimes clang/clang++ is used simply as an assembler or linker: no C/C++ files
are given on the command line. in this case it is unhappy about the unused
Souper arguments and prints unsightly warnings.  some build systems take these
as errors.  this patch detects whether any C/C++ files are being compiled and,
if not, doesn't give the problematic Souper arguments.

also: trivial patch to pass the -souper-ignore-solver-errors to souper if asked
by an environment variable
should have used the old ReplacementContext instead of making a fresh
one
Merge pull request #123 from regehr/check-fix

should have used the old ReplacementContext instead of making a fresh one
don't store UntypedInt with 4-bit APInt values

Integer 8 is represent as b1000 in a 4-bit APInt manner.
Later, when we translate this APInt value into a const using
APInt.sextOrTrunc, we get b11111000 back, which is not what
we want. The bad intepretation only occurs when
we infer the type of an integer, i.e., an integer without :iN.
Note that b11111000 is unsigned char 248, which is why we see
instruction "%8:i1 = eq 248:i8, %0" in John's example.

The fix is to use multiple of 5. It should always be safe.
Also, we won't increase too much memory usage because
it's only for parsing replacements, which are small.
Merge pull request #125 from chenyang78/parser

don't store UntypedInt with 4-bit APInt values
add Raimondas's souper2llvm tool

a couple of improvements to cache dump tool:
- call souper2llvm if asked
- keep track of optimization srclocs as we process things
Merge pull request #122 from regehr/cache-dump-improvements

add Raimondas's souper2llvm tool
Merge pull request #121 from regehr/sclang-fix

sometimes clang/clang++ is used simply as an assembler or linker: no C/C...
Move a test to RoundTrip

RoundTrip supports examining expected output. We don't
need to create a separate test for this purpose.
Merge pull request #127 from chenyang78/parser_test

Move a test to RoundTrip
version bump
some inference tests
Merge pull request #126 from regehr/infer-tests

testcases for inference
script improvements...

- support a user-defined tag for cache entries so that cache-infer
  can remember what it has accomplished if it gets killed or dies

- don't parse all LHSs by default, this was slow and wasn't turning
  up problems

- be verbose, if asked
Merge pull request #129 from regehr/bump-llvm

version bump
Merge pull request #132 from regehr/cache-dump-improvements

script improvements
Merge remote-tracking branch 'origin/master' into save-bitcode

Conflicts:
	utils/sclang.in