From a2774f2cf5b414f451bede449629f32a753a4958 Mon Sep 17 00:00:00 2001 From: Dmitry Babokin Date: Fri, 11 Apr 2014 00:17:12 +0400 Subject: [PATCH] Release notes, docs update --- LICENSE.txt | 4 ++-- docs/ReleaseNotes.txt | 44 +++++++++++++++++++++++++++++++++++++++++++ docs/ispc.rst | 27 ++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index e7a34645..93c4d816 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2010-2013, Intel Corporation +Copyright (c) 2010-2014, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -77,7 +77,7 @@ covered by the following license: University of Illinois/NCSA Open Source License -Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign. +Copyright (c) 2003-2014 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: diff --git a/docs/ReleaseNotes.txt b/docs/ReleaseNotes.txt index b7d0bb17..ef8cf6f8 100644 --- a/docs/ReleaseNotes.txt +++ b/docs/ReleaseNotes.txt @@ -1,3 +1,47 @@ +=== v1.7.0 === (18 April 2014) + +A major new version of ISPC with several language and library extensions and +fixes in debug info support. Binaries for all platforms are based on patched +version on LLVM 3.4. There also performance improvements beyond switchover to +LLVM 3.4. + +The list of language and library changes: + +* Support for varying types in exported functions was added. See documentation + for more details. + +* get_programCount() function was moved from stdlib.ispc to + examples/util/util.isph, which needs to be included somewhere in your + project, if you want to use it. + +* Library functions for saturated arithmetic were added. add/sub/mul/div + operations are supported for signed and unsigned 8/16/32/64 integer types + (both uniform and varying). + +* The algorithm for selecting overloaded function was extended to cover more + types of overloading. Handling of reference types in overloaded functions was + fixed. The rules for selecting the best match were changed to match C++, + which requires the function to be the best match for all parameters. In + ambiguous cases, a warning is issued, but it will be converted to an error + in the next release. + +* Explicit typecasts between any two reference types were allowed. + +* Implicit cast of pointer to const type to void* was disallowed. + +The list of other notable changes is: + +* Number of fixes for better debug info support. + +* Memory corruption bug was fixed, which caused rare but not reproducible + compile time fails. + +* Alias analysis was enabled (more aggressive optimizations are expected). + +* A bug involving inaccurate handling of "const" qualifier was fixed. As a + result, more "const" qualifiers may appear in .h files, which may cause + compilation errors. + === v1.6.0 === (19 December 2013) A major new version of ISPC with major improvements in performance and diff --git a/docs/ispc.rst b/docs/ispc.rst index e9d248f4..a2cf2a95 100644 --- a/docs/ispc.rst +++ b/docs/ispc.rst @@ -50,6 +50,7 @@ Contents: + `Updating ISPC Programs For Changes In ISPC 1.3`_ + `Updating ISPC Programs For Changes In ISPC 1.5.0`_ + `Updating ISPC Programs For Changes In ISPC 1.6.0`_ + + `Updating ISPC Programs For Changes In ISPC 1.7.0`_ * `Getting Started with ISPC`_ @@ -292,6 +293,32 @@ becomes a keyword and it potentially creates a conflict with existing user function. Also a new library function packed_store_active2() was introduced, which also may create a conflict with existing user functions. +Updating ISPC Programs For Changes In ISPC 1.7.0 +------------------------------------------------ + +This release contains several changes that may affect compatibility with +older versions: + +* The algorithm for selecting overloaded functions was extended to cover more + types of overloading, and handling of reference types was fixed. At the same + time the old scheme, which blindly used the function with "the best score" + summed for all arguments, was switched to the C++ approach, which requires + "the best score" for each argument. If the best function doesn't exist, a + warning is issued in this version. It will be turned into an error in the + next version. A simple example: Suppose we have two functions: max(int, int) + and max(unsigned int, unsigned int). The new rules lead to an error when + calling max(int, unsigned int), as the best choice is ambiguous. + +* Implicit cast of pointer to const type to void* was disallowed. Use explicit + cast if needed. + +* A bug which prevented "const" qualifiers from appearing in emitted .h files + was fixed. Consequently, "const" qualifiers now properly appearing in emitted + .h files may cause compile errors in pre-existing codes. + +* get_ProgramCount() was moved from stdlib to examples/util/util.isph file. You + need to include this file to be able to use this function. + Getting Started with ISPC =========================