Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

readme formatting #852

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ You will also need CMake to build Souper and its dependencies.
```
$ ./build_deps.sh $buildtype $extra_cmake_flags
```
$buildtype is optional; it defaults to Release and may be set to any LLVM
`$buildtype` is optional; it defaults to 'Release' and may be set to any LLVM
build type.
$extra_cmake_flags is optional. It is passed to CMake.
`$extra_cmake_flags` is optional. It is passed to CMake.

2. Run CMake from a build directory:
```
Expand All @@ -32,21 +32,21 @@ $ cmake -DCMAKE_BUILD_TYPE=$buildtype /path/to/souper
Again, the build type is optional and defaults to Release. In any case it
must match the build type used when compiling the dependencies.

3. Run 'make' from the build directory.
3. Run `make` from the build directory.

4. Optionally run 'make check' to run Souper's test suite. To run the test suite
under Valgrind, run 'make check LIT_ARGS="-v --vg --vg-leak"' instead. By
4. Optionally run `make check` to run Souper's test suite. To run the test suite
under Valgrind, run `make check LIT_ARGS="-v --vg --vg-leak"` instead. By
default the solver is also run under Valgrind. This can be disabled by
by adding --vg-arg=--trace-children-skip=/path/to/solver to LIT_ARGS.
by adding `--vg-arg=--trace-children-skip=/path/to/solver` to `LIT_ARGS`.

Note that GCC 4.8 and earlier have a bug in handling multiline string
literals. You should build Souper using GCC 4.9+ or Clang.

# Using Souper

After following the above instructions, you will have a Souper
executable in /path/to/souper-build/souper and a Clang executable in
/path/to/souper/third_party/llvm/$buildtype/bin/clang. You can use the
executable in `/path/to/souper-build/souper` and a Clang executable in
`/path/to/souper/third_party/llvm/$buildtype/bin/clang`. You can use the
Clang executable to create an LLVM bitcode file like this:
```
$ /path/to/clang -emit-llvm -c -o /path/to/file.bc /path/to/file.c
Expand Down Expand Up @@ -88,14 +88,14 @@ $ make
```

Compilation using Souper can be sped up by caching queries. By default, Souper
uses a non-persistent RAM-based cache. The -souper-external-cache flag causes
uses a non-persistent RAM-based cache. The `-souper-external-cache` flag causes
Souper to cache its queries in a Redis database. For this to work, Redis >=
1.2.0 must be installed on the machine where you are running Souper and a Redis
server must be listening on the default port (6379).

sclang uses external caching by default since this often gives a substantial
speedup for large compilations. This behavior may be disabled by setting the
SOUPER_NO_EXTERNAL_CACHE environment variable. Souper's Redis cache does not yet
`SOUPER_NO_EXTERNAL_CACHE` environment variable. Souper's Redis cache does not yet
have any support for versioning; you should stop Redis and delete its dump file
any time Souper is upgraded.

Expand Down