|
1 | 1 | # The Checked C LLVM test-suite repo
|
2 | 2 |
|
3 | 3 | This repo contains a version of the LLVM test-suite repo that is being modified
|
4 |
| -to use Checked C. The modified programs will be used to benchmark the Checked C |
| 4 | +to use Checked C. The modified programs will be used to benchmark the Checked C |
5 | 5 | version of LLVM/clang.
|
6 | 6 |
|
7 |
| -We have deleted test-only code from this repo and left only benchmarks in the |
8 |
| -repo. That makes the repo easier to work with. It decreases disk usage from |
9 |
| -about 2.3 GBytes to under 500 MBytes. |
| 7 | +We have deleted test-only code from the master branch repo and left only benchmarks |
| 8 | +in the master branch. That makes the repo easier to work with. It decreases disk |
| 9 | +usage from about 2.3 GBytes to under 500 MBytes when using the master branch. |
10 | 10 |
|
11 | 11 | Checked C is an extension to C that adds checking to detect or prevent common
|
12 | 12 | programming errors such as out-of-bounds memory accesses. For more information
|
13 |
| -on Checked C, see the Checked C specification in the |
| 13 | +on Checked C, see the Checked C specification in the |
14 | 14 | [Checked C repo](https://github.com/Microsoft/checkedc). The Checked C
|
15 | 15 | version of LLVM/clang lives in two repos: the
|
16 | 16 | [Checked C clang repo](https://github.com/Microsoft/checked-clang)
|
17 |
| -and the [Checked C LLVM repo](https://github.com/Microsoft/checkedc-llvm). |
| 17 | +and the [Checked C LLVM repo](https://github.com/Microsoft/checkedc-llvm). |
18 | 18 |
|
19 | 19 | ## Status
|
20 | 20 |
|
21 | 21 | At this time, no benchmarks have been converted to use Checked C.
|
22 | 22 |
|
23 |
| -## Running benchmarks |
| 23 | +## Branch organization |
24 | 24 |
|
25 |
| -To run benchmarks on Linux, see the LNT [quick start directions](http://llvm.org/docs/lnt/quickstart.html) |
| 25 | +There are 3 branches in the repo: |
| 26 | +- master: this branch contains benchmarks, some of which may have been modified |
| 27 | +to use Checked C. |
| 28 | +- baseline: this branch contains benchmarks that have not been modified. |
| 29 | +- original: this contains all the tests, including application tests. |
| 30 | + |
| 31 | +This master branch should be used for modifying benchmarks. This branch can be diffed |
| 32 | +agaisnt the baseline branch to see benchmarks that have changed. |
| 33 | +The original branch can be used to test that |
| 34 | +the Checked C implementation has not broken existing tests. |
| 35 | + |
| 36 | +## Running tests |
| 37 | + |
| 38 | +To run tests on Linux, see the LNT [quick start directions](http://llvm.org/docs/lnt/quickstart.html) |
26 | 39 | on the LLVM site. You will want to add the argument `--ccflags -fcheckedc-extension`
|
27 |
| -to the LNT command-line. The benchmarks can also be run on Windows 10 using |
| 40 | +to the LNT command-line. The tests can also be run on Windows 10 using |
28 | 41 | the [Windows Subsystem for Linux](https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/).
|
29 | 42 | See the directions [here](docs/Benchmarking-on-Windows.md).
|
30 | 43 |
|
|
0 commit comments