From ffb9f967d83cf680eb1bfea1fdd995ccef34223e Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 11 Apr 2014 19:35:37 +0000 Subject: 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 --- utils/release/test-release.sh | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'utils') 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 -- cgit v1.2.3