Skip to content

Commit

Permalink
Prepare for release
Browse files Browse the repository at this point in the history
  • Loading branch information
ffevotte committed Jun 13, 2018
1 parent c13d7ed commit 657e7f2
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 8 deletions.
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,47 @@ This version is based on Valgrind-3.13.0.

- Generation of Valgrind errors for NaN values. This can be useful to debug
programs in conjunction with vgdb.

- Instrumentation of all FP binary instructions, as obtained by any combination of:
- an operation: ADD / SUB / MUL / DIV
- a vector variant: LLO / SSE / AVX2
- a precision: single / double

- Instrumentation of cast instructions (double -> float).

- Preparation for the common interflop backend interface.

- (Experimental) Parallelism in `verrou_dd`. The number of concurrent threads
can be set using the `VERROU_DD_NUM_THREADS` environnement variable.

- (Experimental) New DDmin algorithm for `verrou_dd`. Instead of computing a
maximal set of stable symbols/lines using the DDmaw algorithm (and outputting
the complement), the DDmin algorithm computes the union of minimal sets of
unstable symbols/lines. It can be activated by setting `VERROU_DD_ALGO=rddmin`
in the environment.


### Changed

- C++ source files are now compiled using the C++11 standard.

- Fix the LLO instrumentation bug. This solves problems which sometimes happened
when LLO and real vector instructions were mixed. Known examples of such bugs
situations include openblas or binaries compiled with the Intel compiler.

The new --vr-unsafe-llo-optim allows keeping the old fast and buggy LLO
instrumentation.

- Suppression of useless warnings.

- Fix bugs of next_after and next_prev.

- More robust rounding mode (upward, downward, toward_zero) with subnormals.

- Improvement of tests and unit test (with UCB references).

- More user-friendly verrou_dd messages.


---

Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@ Configure valgrind:
./autogen.sh
./configure --enable-only64bit --prefix=PREFIX

You can also add the `--enable-verrou-fma=yes` flag to the configuration above
if your system supports FMA instructions. Depending on system it may be required to set CFLAGS :
./configure --enable-only64bit --enable-verrou-fma=yes --prefix=PREFIX CFLAGS="-march=native -mfma"
It is recommended to add the `--enable-verrou-fma` flag to the configuration
above if your system supports FMA instructions. Depending on your system, it may
be required to set `CFLAGS` so that it enables the use of FMA in your compiler:

./configure --enable-only64bit --enable-verrou-fma --prefix=PREFIX CFLAGS="-mfma"



Expand Down
10 changes: 5 additions & 5 deletions vr_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ static void vr_replaceBinFpOpScal (IRSB* sb, IRStmt* stmt, IRExpr* expr,
}
vr_countOp (sb, op, prec,vec, True);

//convertion before call
//conversion before call
IRExpr * arg1;
IRExpr * arg2;

Expand Down Expand Up @@ -461,7 +461,7 @@ static void vr_replaceBinFpOpLLO_slow_safe (IRSB* sb, IRStmt* stmt, IRExpr* expr
return;
}
vr_countOp (sb, op, prec,vec, True);
//convertion before call
//conversion before call
IRExpr * arg1LL=NULL;
IRExpr * arg1;
IRExpr * arg2LL;
Expand Down Expand Up @@ -512,7 +512,7 @@ static void vr_replaceBinFpOpLLO_fast_unsafe (IRSB* sb, IRStmt* stmt, IRExpr* ex
return;
}
vr_countOp (sb, op, prec,vec, True);
//convertion before call
//conversion before call

IRExpr * arg1;
IRExpr * arg2;
Expand Down Expand Up @@ -584,7 +584,7 @@ static void vr_replaceBinFullSSE (IRSB* sb, IRStmt* stmt, IRExpr* expr,
VG_(tool_panic) ( "vr_replaceBinFullSSE requires SSE instructions... \n");
}

//convertion before call
//conversion before call
IRExpr * arg1 = expr->Iex.Triop.details->arg2;
IRExpr * arg2 = expr->Iex.Triop.details->arg3;

Expand Down Expand Up @@ -633,7 +633,7 @@ static void vr_replaceBinFullAVX (IRSB* sb, IRStmt* stmt, IRExpr* expr,
VG_(tool_panic) ( "vr_replaceBinFullAVX requires AVX instructions... \n");
}

//convertion before call
//conversion before call
IRExpr * arg1 = expr->Iex.Triop.details->arg2;
IRExpr * arg2 = expr->Iex.Triop.details->arg3;

Expand Down

0 comments on commit 657e7f2

Please sign in to comment.