svn commit: r213534 - in head: contrib/llvm contrib/llvm/autoconf
contrib/llvm/include/llvm/ADT contrib/llvm/lib/CodeGen
contrib/llvm/lib/Target/ARM contrib/llvm/lib/Target/X86
contrib/llvm/tools/c...
Dimitry Andric
dim at FreeBSD.org
Thu Oct 7 20:31:08 UTC 2010
Author: dim
Date: Thu Oct 7 20:31:07 2010
New Revision: 213534
URL: http://svn.freebsd.org/changeset/base/213534
Log:
Upgrade Clang and LLVM to the 2.8 release. See here for release notes:
http://llvm.org/releases/2.8/docs/ReleaseNotes.html
Approved by: rpaulo (mentor)
Modified:
head/contrib/llvm/Makefile.rules
head/contrib/llvm/autoconf/configure.ac
head/contrib/llvm/configure
head/contrib/llvm/include/llvm/ADT/SmallVector.h
head/contrib/llvm/lib/CodeGen/MachineCSE.cpp
head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
head/contrib/llvm/tools/clang/lib/Basic/Version.cpp
head/lib/clang/include/clang/Basic/Version.inc
Directory Properties:
head/contrib/llvm/ (props changed)
head/contrib/llvm/tools/clang/ (props changed)
Modified: head/contrib/llvm/Makefile.rules
==============================================================================
--- head/contrib/llvm/Makefile.rules Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/Makefile.rules Thu Oct 7 20:31:07 2010 (r213534)
@@ -941,6 +941,11 @@ ifdef EXPORTED_SYMBOL_FILE
# First, set up the native export file, which may differ from the source
# export file.
+# The option --version-script is not effective on GNU ld win32.
+ifneq (,$(filter $(HOST_OS),Cygwin MingW))
+ HAVE_LINK_VERSION_SCRIPT := 0
+endif
+
ifeq ($(HOST_OS),Darwin)
# Darwin convention prefixes symbols with underscores.
NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).sed
Modified: head/contrib/llvm/autoconf/configure.ac
==============================================================================
--- head/contrib/llvm/autoconf/configure.ac Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/autoconf/configure.ac Thu Oct 7 20:31:07 2010 (r213534)
@@ -31,7 +31,7 @@ dnl===
dnl===-----------------------------------------------------------------------===
dnl Initialize autoconf and define the package name, version number and
dnl email address for reporting bugs.
-AC_INIT([[llvm]],[[2.8rc]],[llvmbugs at cs.uiuc.edu])
+AC_INIT([[llvm]],[[2.8]],[llvmbugs at cs.uiuc.edu])
dnl Provide a copyright substitution and ensure the copyright notice is included
dnl in the output of --version option of the generated configure script.
Modified: head/contrib/llvm/configure
==============================================================================
--- head/contrib/llvm/configure Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/configure Thu Oct 7 20:31:07 2010 (r213534)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for llvm 2.8rc.
+# Generated by GNU Autoconf 2.60 for llvm 2.8.
#
# Report bugs to <llvmbugs at cs.uiuc.edu>.
#
@@ -561,8 +561,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='llvm'
PACKAGE_TARNAME='-llvm-'
-PACKAGE_VERSION='2.8rc'
-PACKAGE_STRING='llvm 2.8rc'
+PACKAGE_VERSION='2.8'
+PACKAGE_STRING='llvm 2.8'
PACKAGE_BUGREPORT='llvmbugs at cs.uiuc.edu'
ac_unique_file="lib/VMCore/Module.cpp"
@@ -1318,7 +1318,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures llvm 2.8rc to adapt to many kinds of systems.
+\`configure' configures llvm 2.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1384,7 +1384,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of llvm 2.8rc:";;
+ short | recursive ) echo "Configuration of llvm 2.8:";;
esac
cat <<\_ACEOF
@@ -1394,7 +1394,7 @@ Optional Features:
--enable-optimized Compile with optimizations enabled (default is NO)
--enable-profiling Compile with profiling enabled (default is NO)
--enable-assertions Compile with assertion checks enabled (default is
- YES)
+ NO)
--enable-expensive-checks
Compile with expensive debug checks enabled (default
is NO)
@@ -1533,7 +1533,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-llvm configure 2.8rc
+llvm configure 2.8
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1549,7 +1549,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by llvm $as_me 2.8rc, which was
+It was created by llvm $as_me 2.8, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -21045,7 +21045,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by llvm $as_me 2.8rc, which was
+This file was extended by llvm $as_me 2.8, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21098,7 +21098,7 @@ Report bugs to <bug-autoconf at gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-llvm config.status 2.8rc
+llvm config.status 2.8
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Modified: head/contrib/llvm/include/llvm/ADT/SmallVector.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/SmallVector.h Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/include/llvm/ADT/SmallVector.h Thu Oct 7 20:31:07 2010 (r213534)
@@ -61,7 +61,7 @@ protected:
// number of union instances for the space, which guarantee maximal alignment.
struct U {
#ifdef __GNUC__
- char X __attribute__((aligned(8)));
+ char X __attribute__((aligned));
#else
union {
double D;
Modified: head/contrib/llvm/lib/CodeGen/MachineCSE.cpp
==============================================================================
--- head/contrib/llvm/lib/CodeGen/MachineCSE.cpp Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/lib/CodeGen/MachineCSE.cpp Thu Oct 7 20:31:07 2010 (r213534)
@@ -54,6 +54,11 @@ namespace {
AU.addPreserved<MachineDominatorTree>();
}
+ virtual void releaseMemory() {
+ ScopeMap.clear();
+ Exps.clear();
+ }
+
private:
const unsigned LookAheadLimit;
typedef ScopedHashTableScope<MachineInstr*, unsigned,
@@ -101,7 +106,7 @@ bool MachineCSE::PerformTrivialCoalescin
unsigned Reg = MO.getReg();
if (!Reg || TargetRegisterInfo::isPhysicalRegister(Reg))
continue;
- if (!MRI->hasOneUse(Reg))
+ if (!MRI->hasOneNonDBGUse(Reg))
// Only coalesce single use copies. This ensure the copy will be
// deleted.
continue;
@@ -469,6 +474,8 @@ bool MachineCSE::PerformCSE(MachineDomTr
DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> ParentMap;
DenseMap<MachineDomTreeNode*, unsigned> OpenChildren;
+ CurrVN = 0;
+
// Perform a DFS walk to determine the order of visit.
WorkList.push_back(Node);
do {
Modified: head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp Thu Oct 7 20:31:07 2010 (r213534)
@@ -1389,7 +1389,8 @@ ConvertToSetZeroFlag(MachineInstr *MI, M
// Check that CPSR isn't set between the comparison instruction and the one we
// want to change.
- MachineBasicBlock::const_iterator I = CmpInstr, E = MI;
+ MachineBasicBlock::const_iterator I = CmpInstr, E = MI,
+ B = MI->getParent()->begin();
--I;
for (; I != E; --I) {
const MachineInstr &Instr = *I;
@@ -1403,6 +1404,10 @@ ConvertToSetZeroFlag(MachineInstr *MI, M
if (MO.getReg() == ARM::CPSR)
return false;
}
+
+ if (I == B)
+ // The 'and' is below the comparison instruction.
+ return false;
}
// Set the "zero" bit in CPSR.
Modified: head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Thu Oct 7 20:31:07 2010 (r213534)
@@ -5414,11 +5414,11 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(S
return getMOVL(DAG, dl, VT, V2, V1);
}
- if (X86::isUNPCKLMask(SVOp))
+ if (X86::isUNPCKL_v_undef_Mask(SVOp) || X86::isUNPCKLMask(SVOp))
return (isMMX) ?
Op : getTargetShuffleNode(getUNPCKLOpcode(VT), dl, VT, V1, V2, DAG);
- if (X86::isUNPCKHMask(SVOp))
+ if (X86::isUNPCKH_v_undef_Mask(SVOp) || X86::isUNPCKHMask(SVOp))
return (isMMX) ?
Op : getTargetShuffleNode(getUNPCKHOpcode(VT), dl, VT, V1, V2, DAG);
@@ -5443,11 +5443,11 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(S
SDValue NewOp = CommuteVectorShuffle(SVOp, DAG);
ShuffleVectorSDNode *NewSVOp = cast<ShuffleVectorSDNode>(NewOp);
- if (X86::isUNPCKLMask(NewSVOp))
+ if (X86::isUNPCKL_v_undef_Mask(NewSVOp) || X86::isUNPCKLMask(NewSVOp))
return (isMMX) ?
NewOp : getTargetShuffleNode(getUNPCKLOpcode(VT), dl, VT, V2, V1, DAG);
- if (X86::isUNPCKHMask(NewSVOp))
+ if (X86::isUNPCKH_v_undef_Mask(NewSVOp) || X86::isUNPCKHMask(NewSVOp))
return (isMMX) ?
NewOp : getTargetShuffleNode(getUNPCKHOpcode(VT), dl, VT, V2, V1, DAG);
}
@@ -5494,13 +5494,6 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(S
TargetMask, DAG);
}
- if (X86::isUNPCKL_v_undef_Mask(SVOp))
- if (VT != MVT::v2i64 && VT != MVT::v2f64)
- return getTargetShuffleNode(getUNPCKLOpcode(VT), dl, VT, V1, V1, DAG);
- if (X86::isUNPCKH_v_undef_Mask(SVOp))
- if (VT != MVT::v2i64 && VT != MVT::v2f64)
- return getTargetShuffleNode(getUNPCKHOpcode(VT), dl, VT, V1, V1, DAG);
-
// Handle v8i16 specifically since SSE can do byte extraction and insertion.
if (VT == MVT::v8i16) {
SDValue NewOp = LowerVECTOR_SHUFFLEv8i16(Op, DAG);
Modified: head/contrib/llvm/tools/clang/lib/Basic/Version.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Basic/Version.cpp Thu Oct 7 18:23:28 2010 (r213533)
+++ head/contrib/llvm/tools/clang/lib/Basic/Version.cpp Thu Oct 7 20:31:07 2010 (r213534)
@@ -21,7 +21,7 @@ using namespace std;
namespace clang {
llvm::StringRef getClangRepositoryPath() {
- static const char URL[] = "$URL: http://llvm.org/svn/llvm-project/cfe/branches/release_28/lib/Basic/Version.cpp $";
+ static const char URL[] = "$URL: http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_28/lib/Basic/Version.cpp $";
const char *URLEnd = URL + strlen(URL);
const char *End = strstr(URL, "/lib/Basic");
Modified: head/lib/clang/include/clang/Basic/Version.inc
==============================================================================
--- head/lib/clang/include/clang/Basic/Version.inc Thu Oct 7 18:23:28 2010 (r213533)
+++ head/lib/clang/include/clang/Basic/Version.inc Thu Oct 7 20:31:07 2010 (r213534)
@@ -5,6 +5,6 @@
#define CLANG_VERSION_MINOR 8
#define CLANG_VENDOR "FreeBSD "
-#define CLANG_VENDOR_SUFFIX " 20100917"
+#define CLANG_VENDOR_SUFFIX " 20101007"
-#define SVN_REVISION "114020"
+#define SVN_REVISION "115870"
More information about the svn-src-head
mailing list