summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-04-11 19:35:37 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-04-11 19:35:37 +0000
commitffb9f967d83cf680eb1bfea1fdd995ccef34223e (patch)
tree4492da57442c30e9c641df2dd83a2f1a969a7995 /utils
parentad17ccef24b2078275201d62c1feaa1aad6be8e3 (diff)
downloadllvm-ffb9f967d83cf680eb1bfea1fdd995ccef34223e.tar.gz
llvm-ffb9f967d83cf680eb1bfea1fdd995ccef34223e.tar.bz2
llvm-ffb9f967d83cf680eb1bfea1fdd995ccef34223e.tar.xz
Merging r198290:
------------------------------------------------------------------------ r198290 | aschwaighofer | 2014-01-01 22:31:36 -0500 (Wed, 01 Jan 2014) | 23 lines BasicAA: Fix value equality and phi cycles When there are cycles in the value graph we have to be careful interpreting "Value*" identity as "value" equivalence. We interpret the value of a phi node as the value of its operands. When we check for value equivalence now we make sure that the "Value*" dominates all cycles (phis). %0 = phi [%noaliasval, %addr2] %l = load %ptr %addr1 = gep @a, 0, %l %addr2 = gep @a, 0, (%l + 1) store %ptr ... Before this patch we would return NoAlias for (%0, %addr1) which is wrong because the value of the load is from different iterations of the loop. Tested on x86_64 -mavx at O3 and O3 -flto with no performance or compile time regressions. PR18068 radar://15653794 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@206051 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rwxr-xr-xutils/release/test-release.sh35
1 files changed, 33 insertions, 2 deletions
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh
index 91dac4ca78..90c5f1ab2d 100755
--- a/utils/release/test-release.sh
+++ b/utils/release/test-release.sh
@@ -26,6 +26,7 @@ Base_url="http://llvm.org/svn/llvm-project"
Release=""
Release_no_dot=""
RC=""
+DOT=""
Triple=""
use_gzip="no"
do_checkout="yes"
@@ -45,6 +46,7 @@ function usage() {
echo ""
echo " -release X.Y The release number to test."
echo " -rc NUM The pre-release candidate number."
+ echo " -dot NUM The dot release to test e.g. X.Y.DOT_NUM [default: 0]"
echo " -final The final release candidate."
echo " -triple TRIPLE The target triple for this machine."
echo " -j NUM Number of compile jobs to run. [default: 3]"
@@ -76,6 +78,13 @@ while [ $# -gt 0 ]; do
-final | --final )
RC=final
;;
+ -dot | --dot )
+ shift
+ DOT="$1"
+ if [ $DOT -eq 0 ]; then
+ DOT=""
+ fi
+ ;;
-triple | --triple )
shift
Triple="$1"
@@ -137,6 +146,10 @@ while [ $# -gt 0 ]; do
shift
done
+if [ -n "$DOT" ]; then
+ Release="$Release.$DOT"
+fi
+
# Check required arguments.
if [ -z "$Release" ]; then
echo "error: no release number specified"
@@ -217,12 +230,29 @@ if [ `uname -s` != "Darwin" ]; then
check_program_exists 'objdump'
fi
+function get_svn_tag() {
+ case $1 in
+ # llvm and clang are the only projects currently doing dot releases.
+ llvm | cfe)
+ if [ -z $DOT ]; then
+ SvnTag="$RC"
+ else
+ SvnTag="dot$DOT-$RC"
+ fi
+ ;;
+ *)
+ SvnTag="$RC"
+ ;;
+ esac
+}
+
# Make sure that the URLs are valid.
function check_valid_urls() {
for proj in $projects ; do
echo "# Validating $proj SVN URL"
- if ! svn ls $Base_url/$proj/tags/RELEASE_$Release_no_dot/$RC > /dev/null 2>&1 ; then
+ get_svn_tag "$proj"
+ if ! svn ls $Base_url/$proj/tags/RELEASE_$Release_no_dot/$SvnTag > /dev/null 2>&1 ; then
echo "llvm $Release release candidate $RC doesn't exist!"
exit 1
fi
@@ -235,7 +265,8 @@ function export_sources() {
for proj in $projects ; do
echo "# Exporting $proj $Release-RC$RC sources"
- if ! svn export -q $Base_url/$proj/tags/RELEASE_$Release_no_dot/$RC $proj.src ; then
+ get_svn_tag "$proj"
+ if ! svn export -q $Base_url/$proj/tags/RELEASE_$Release_no_dot/$SvnTag $proj.src ; then
echo "error: failed to export $proj project"
exit 1
fi