\n";
From pjenkins at apple.com Wed Jul 26 13:51:50 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 13:51:50 -0500
Subject: [llvm-commits] CVS: nightlytest-serverside/test.php
Message-ID: <200607261851.k6QIpovi027185@zion.cs.uiuc.edu>
Changes in directory nightlytest-serverside:
test.php updated: 1.8 -> 1.9
---
Log message:
Eliminated line breaks after links to buildlog and full test results
---
Diffs of the changes: (+3 -3)
test.php | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
Index: nightlytest-serverside/test.php
diff -u nightlytest-serverside/test.php:1.8 nightlytest-serverside/test.php:1.9
--- nightlytest-serverside/test.php:1.8 Wed Jul 26 13:50:49 2006
+++ nightlytest-serverside/test.php Wed Jul 26 13:51:36 2006
@@ -113,12 +113,12 @@
* Printing the times table
*
******************************************************/
-print"
\n";
+print"
\n";
$buildfile=str_replace(" ", "_", $cur_date);
if(file_exists("machines/$machine_id/$buildfile-Build-Log.txt")){
- print "
\n";
+ print "
\n";
}
if(strpos($today_row['buildstatus'], "OK")===FALSE){
From lattner at cs.uiuc.edu Wed Jul 26 14:10:48 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 14:10:48 -0500
Subject: [llvm-commits] CVS: llvm/Makefile
Message-ID: <200607261910.k6QJAmtk028330@zion.cs.uiuc.edu>
Changes in directory llvm:
Makefile updated: 1.62 -> 1.63
---
Log message:
Revamp this to use filter-out, which makes the logic simpler and not nested.
This restores building of examples and projects!
---
Diffs of the changes: (+18 -21)
Makefile | 39 ++++++++++++++++++---------------------
1 files changed, 18 insertions(+), 21 deletions(-)
Index: llvm/Makefile
diff -u llvm/Makefile:1.62 llvm/Makefile:1.63
--- llvm/Makefile:1.62 Fri Jun 2 17:41:18 2006
+++ llvm/Makefile Wed Jul 26 14:10:34 2006
@@ -7,39 +7,35 @@
#
#===------------------------------------------------------------------------===#
-LEVEL = .
-DIRS = lib/System lib/Support utils lib/VMCore lib
+LEVEL := .
+DIRS := lib/System lib/Support utils lib/VMCore lib tools runtime docs
+OPTIONAL_DIRS := examples projects
+EXTRA_DIST := test llvm.spec include win32 Xcode
include $(LEVEL)/Makefile.config
+# llvm-gcc4 doesn't need runtime libs.
+ifeq ($(LLVMGCC_MAJVERS),4)
+ DIRS := $(filter-out runtime, $(DIRS))
+endif
-ifeq ($(MAKECMDGOALS),tools-only)
- DIRS += tools
-else
- ifneq ($(MAKECMDGOALS),libs-only)
- DIRS += tools
- ifneq ($(LLVMGCC_MAJVERS),4)
- DIRS += runtime
- else
- $(warning Skipping runtime libraries, llvm-gcc 4 detected.)
- endif
+ifeq ($(MAKECMDGOALS),libs-only)
+ DIRS := $(filter-out tools runtime docs, $(DIRS))
+ OPTIONAL_DIRS :=
+endif
- DIRS += docs
- endif
+ifeq ($(MAKECMDGOALS),tools-only)
+ DIRS := $(filter-out runtime docs, $(DIRS))
+ OPTIONAL_DIRS :=
endif
-# Don't install utils, they are only used to build LLVM.
-#
+# Don't install utils, examples, or projects they are only used to
+# build LLVM.
ifeq ($(MAKECMDGOALS),install)
DIRS := $(filter-out utils, $(DIRS))
-
- # Don't install examples or projects.
OPTIONAL_DIRS :=
endif
-
-EXTRA_DIST := test llvm.spec include win32 Xcode
-
# Include the main makefile machinery.
include $(LLVM_SRC_ROOT)/Makefile.rules
@@ -103,3 +99,4 @@
check-llvm2cpp:
$(MAKE) check TESTSUITE=Feature RUNLLVM2CPP=1
+
From pjenkins at apple.com Wed Jul 26 14:11:29 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 14:11:29 -0500
Subject: [llvm-commits] CVS: nightlytest-serverside/NightlyTester.php
Message-ID: <200607261911.k6QJBTUn028412@zion.cs.uiuc.edu>
Changes in directory nightlytest-serverside:
NightlyTester.php updated: 1.5 -> 1.6
---
Log message:
Changed the functions that return information about a files size to fit the new database schema
---
Diffs of the changes: (+35 -48)
NightlyTester.php | 83 ++++++++++++++++++++++--------------------------------
1 files changed, 35 insertions(+), 48 deletions(-)
Index: nightlytest-serverside/NightlyTester.php
diff -u nightlytest-serverside/NightlyTester.php:1.5 nightlytest-serverside/NightlyTester.php:1.6
--- nightlytest-serverside/NightlyTester.php:1.5 Wed Jul 26 12:14:34 2006
+++ nightlytest-serverside/NightlyTester.php Wed Jul 26 14:11:15 2006
@@ -148,76 +148,63 @@
/*****************************************************
*
- * Purpose: get all the .a file sizes for a specific test
- * Returns: An array with the name of the file being
- * the index and the value being an array with the first
- * element containing code size and the second element
- * containing [debug|release]
+ * Purpose: get file size for a specific file
+ * Returns: An array with the first element being the
+ * name of the file, then the file size, then night id,
+ * then build type.
*
*****************************************************/
-function get_a_files($mysql_link, $night_id){
- $query = mysql_query("select a_file_size from night WHERE id=$night_id") or die (mysql_error());
- $result = mysql_fetch_array($query);
- $files = explode("\n", trim($result['a_file_size']));
- $result = array();
- foreach ($files as $f){
- $matches = array();
- preg_match("/(.+)\s+(.+)\s+(.+)/", $f, $matches);
- $result["$matches[2]"] = array("$matches[1]", "$matches[3]");
- }
+function get_file($mysql_link, $file, $night_id){
+ $query = mysql_query("select * from file WHERE $file=\"$file\" and night=$night_id") or die (mysql_error());
+ $file = mysql_fetch_array($query);
+ $result = array("{$file['file']}","{$file['size']}","{$file['night']}","{$file['type']}");
+ mysql_free_result($query);
return $result;
}
/*****************************************************
*
- * Purpose: get all the .o file sizes for a specific test
- * Returns: An array with the name of the file being
- * the index and the value being an array with the first
- * element containing code size and the second element
- * containing [debug|release]
+ * Purpose: Get a list of all sizes measured on a
+ * particular machine for a specific file
+ * Returns: an array with the key being the date and
+ * the value being an array containing file name, size
+ * night, and build type
*
*****************************************************/
-function get_o_files($mysql_link, $night_id){
- $query = mysql_query("select o_file_size from night WHERE id=$night_id") or die (mysql_error());
- $result = mysql_fetch_array($query);
- $files = explode("\n", trim($result['o_file_size']));
+function get_file_history($mysql_link, $machine_id, $file_name){
+ $nights_select = "select id, added from night WHERE machine=$machine_id ".
+ "order by added desc";
+ $nights_query = mysql_query($nights_select)
+ or die (mysql_error());
$result = array();
- foreach ($files as $f){
- $matches = array();
- preg_match("/(.+)\s+(.+)\s+(.+)/", $f, $matches);
- $result["$matches[2]"] = array("$matches[1]", "$matches[3]");
- }
+ while($row = mysql_fetch_array($nights_query)){
+ $file_select = "select * from file where night={$row['id']} and ".
+ "file=\"$file_name\"";
+ $file_query = mysql_query($file_select);
+ $file_array = mysql_fetch_array($file_query);
+ if(isset($file_array['file'])){
+ $value=get_file($mysql_link, $file_name, "{$row['id']}");
+ array_unshift($value, "{$row['added']}");
+ array_push($result, $value);
+ }//end if
+ mysql_free_result($file_query);
+ }//end while
+ mysql_free_result($nights_query);
return $result;
}
/*****************************************************
*
- * Purpose: Get a combined list of .a and .o file sizes
- * Returns:
- *
- *****************************************************/
-function get_file_sizes($mysql_link, $night_id){
- $arr1 = get_a_files($mysql_link, $night_id);
- $arr2 = get_o_files($mysql_link, $night_id);
- foreach (array_keys($arr1) as $f){
- $arr2["$f"] = $arr1["$f"];
- }
- return $arr2;
-}
-
-
-
-/*****************************************************
- *
* Example uses of each function
*
*****************************************************/
/*$mysql_link = mysql_connect("127.0.0.1","llvm","ll2002vm");
mysql_select_db("nightlytestresults");
-$night_id = 534;
+$machine_id = 8;
+$file="./test/Regression/Archive/xpg4.a";
-$files = get_file_sizes($mysql_link, $night_id);
+$files = get_file_history($mysql_link, $machine_id, $file);
foreach (array_keys($files) as $f){
print "$f = > {$files["$f"][0]}
\n";
From lattner at cs.uiuc.edu Wed Jul 26 15:19:20 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 15:19:20 -0500
Subject: [llvm-commits] CVS: llvm/tools/Makefile
Message-ID: <200607262019.k6QKJKaR029918@zion.cs.uiuc.edu>
Changes in directory llvm/tools:
Makefile updated: 1.49 -> 1.50
---
Log message:
Add llvm2cpp to DIRs list
---
Diffs of the changes: (+2 -3)
Makefile | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
Index: llvm/tools/Makefile
diff -u llvm/tools/Makefile:1.49 llvm/tools/Makefile:1.50
--- llvm/tools/Makefile:1.49 Wed Jul 26 12:06:02 2006
+++ llvm/tools/Makefile Wed Jul 26 15:19:06 2006
@@ -10,8 +10,7 @@
LEVEL := ..
PARALLEL_DIRS := llvm-config llvm-as llvm-dis opt gccas llc llvm-link lli gccld\
llvm-stub analyze llvm-extract llvm-nm llvm-prof llvm-ar \
- llvm-ranlib llvm-bcanalyzer llvmc llvm-ld llvm-db bugpoint
-
-OPTIONAL_DIRS := llvm2cpp
+ llvm-ranlib llvm-bcanalyzer llvmc llvm-ld llvm-db bugpoint \
+ llvm2cpp
include $(LEVEL)/Makefile.common
From lattner at cs.uiuc.edu Wed Jul 26 15:22:40 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 15:22:40 -0500
Subject: [llvm-commits] CVS: llvm/Makefile.rules
Message-ID: <200607262022.k6QKMeOk030058@zion.cs.uiuc.edu>
Changes in directory llvm:
Makefile.rules updated: 1.389 -> 1.390
---
Log message:
Reduce work done for directory traversal in srcdir==objdir builds.
---
Diffs of the changes: (+16 -0)
Makefile.rules | 16 ++++++++++++++++
1 files changed, 16 insertions(+)
Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.389 llvm/Makefile.rules:1.390
--- llvm/Makefile.rules:1.389 Fri Jul 21 18:04:48 2006
+++ llvm/Makefile.rules Wed Jul 26 15:22:26 2006
@@ -487,6 +487,8 @@
SubDirs :=
ifdef DIRS
SubDirs += $(DIRS)
+
+ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
$(RecursiveTargets)::
$(Verb) for dir in $(DIRS); do \
if [ ! -f $$dir/Makefile ]; then \
@@ -495,6 +497,13 @@
fi; \
($(MAKE) -C $$dir $@ ) || exit 1; \
done
+else
+$(RecursiveTargets)::
+ $(Verb) for dir in $(DIRS); do \
+ ($(MAKE) -C $$dir $@ ) || exit 1; \
+ done
+endif
+
endif
#---------------------------------------------------------
@@ -545,6 +554,7 @@
SubDirs += $(OPTIONAL_DIRS)
+ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
$(RecursiveTargets)::
$(Verb) for dir in $(OPTIONAL_DIRS); do \
if [ -d $(PROJ_SRC_DIR)/$$dir ]; then\
@@ -555,6 +565,12 @@
($(MAKE) -C$$dir $@ ) || exit 1; \
fi \
done
+else
+$(RecursiveTargets)::
+ $(Verb) for dir in $(OPTIONAL_DIRS); do \
+ ($(MAKE) -C$$dir $@ ) || exit 1; \
+ done
+endif
endif
#---------------------------------------------------------
From lattner at cs.uiuc.edu Wed Jul 26 15:33:34 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 15:33:34 -0500
Subject: [llvm-commits]
CVS: llvm/test/Regression/ExecutionEngine/parallel.ll
Message-ID: <200607262033.k6QKXYIX030343@zion.cs.uiuc.edu>
Changes in directory llvm/test/Regression/ExecutionEngine:
parallel.ll (r1.2) removed
---
Log message:
Don't test an example
---
Diffs of the changes: (+0 -0)
0 files changed
From lattner at cs.uiuc.edu Wed Jul 26 15:37:25 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 15:37:25 -0500
Subject: [llvm-commits] CVS: llvm/lib/System/Win32/Memory.inc
Message-ID: <200607262037.k6QKbPOU030421@zion.cs.uiuc.edu>
Changes in directory llvm/lib/System/Win32:
Memory.inc updated: 1.7 -> 1.8
---
Log message:
Fix the build on win32
---
Diffs of the changes: (+2 -1)
Memory.inc | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
Index: llvm/lib/System/Win32/Memory.inc
diff -u llvm/lib/System/Win32/Memory.inc:1.7 llvm/lib/System/Win32/Memory.inc:1.8
--- llvm/lib/System/Win32/Memory.inc:1.7 Fri Jul 7 12:32:37 2006
+++ llvm/lib/System/Win32/Memory.inc Wed Jul 26 15:37:11 2006
@@ -47,9 +47,10 @@
}
bool Memory::ReleaseRWX(MemoryBlock &M, std::string *ErrMsg) {
- if (M.Address == 0 || M.Size == 0) return;
+ if (M.Address == 0 || M.Size == 0) return false;
if (!VirtualFree(M.Address, 0, MEM_RELEASE))
return GetError("Can't release RWX Memory: ", ErrMsg);
+ return false;
}
}
From lattner at cs.uiuc.edu Wed Jul 26 15:44:38 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 15:44:38 -0500
Subject: [llvm-commits]
CVS: llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll
Message-ID: <200607262044.k6QKicuL030572@zion.cs.uiuc.edu>
Changes in directory llvm/test/Regression/CodeGen/X86:
fast-cc-callee-pops.ll updated: 1.2 -> 1.3
---
Log message:
allow this to pass on non-x86 machines
---
Diffs of the changes: (+1 -1)
fast-cc-callee-pops.ll | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll
diff -u llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll:1.2 llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll:1.3
--- llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll:1.2 Sat Mar 18 17:48:54 2006
+++ llvm/test/Regression/CodeGen/X86/fast-cc-callee-pops.ll Wed Jul 26 15:44:24 2006
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel -enable-x86-fastcc | grep 'ret 28'
+; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel -enable-x86-fastcc -mcpu=yonah | grep 'ret 28'
; Check that a fastcc function pops its stack variables before returning.
From reid at x10sys.com Wed Jul 26 15:45:26 2006
From: reid at x10sys.com (Reid Spencer)
Date: Wed, 26 Jul 2006 15:45:26 -0500
Subject: [llvm-commits] CVS: llvm/autoconf/m4/build_exeext.m4
Message-ID: <200607262045.k6QKjQbH030604@zion.cs.uiuc.edu>
Changes in directory llvm/autoconf/m4:
build_exeext.m4 added (r1.1)
---
Log message:
For PR814: http://llvm.org/PR814 :
Add a macro for getting the build host extension for executable. Patch
contributed by Anton Korobeynikov. Thanks!
---
Diffs of the changes: (+42 -0)
build_exeext.m4 | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+)
Index: llvm/autoconf/m4/build_exeext.m4
diff -c /dev/null llvm/autoconf/m4/build_exeext.m4:1.1
*** /dev/null Wed Jul 26 15:45:22 2006
--- llvm/autoconf/m4/build_exeext.m4 Wed Jul 26 15:45:12 2006
***************
*** 0 ****
--- 1,42 ----
+ # Check for the extension used for executables on build platform.
+ # This is necessary for cross-compiling where the build platform
+ # may differ from the host platform.
+ AC_DEFUN([AC_BUILD_EXEEXT],
+ [
+ AC_MSG_CHECKING([for executable suffix on build platform])
+ AC_CACHE_VAL(ac_cv_build_exeext,
+ [if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_build_exeext=.exe
+ else
+ ac_build_prefix=${build_alias}-
+
+ AC_CHECK_PROG(BUILD_CC, ${ac_build_prefix}gcc, ${ac_build_prefix}gcc)
+ if test -z "$BUILD_CC"; then
+ AC_CHECK_PROG(BUILD_CC, gcc, gcc)
+ if test -z "$BUILD_CC"; then
+ AC_CHECK_PROG(BUILD_CC, cc, cc, , , /usr/ucb/cc)
+ fi
+ fi
+ test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+ ac_build_link='${BUILD_CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_build_exeext=
+ if AC_TRY_EVAL(ac_build_link); then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj) ;;
+ *) ac_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ AC_MSG_ERROR([installation or configuration problem: compiler cannot create executables.])
+ fi
+ rm -f conftest*
+ test x"${ac_cv_build_exeext}" = x && ac_cv_build_exeext=blank
+ fi])
+ BUILD_EXEEXT=""
+ test x"${ac_cv_build_exeext}" != xblank && BUILD_EXEEXT=${ac_cv_build_exeext}
+ AC_MSG_RESULT(${ac_cv_build_exeext})
+ ac_build_exeext=$BUILD_EXEEXT
+ AC_SUBST(BUILD_EXEEXT)])
From criswell at cs.uiuc.edu Wed Jul 26 15:49:31 2006
From: criswell at cs.uiuc.edu (John Criswell)
Date: Wed, 26 Jul 2006 15:49:31 -0500
Subject: [llvm-commits] CVS: llvm-poolalloc/LICENSE.TXT
Message-ID: <200607262049.PAA09898@choi.cs.uiuc.edu>
Changes in directory llvm-poolalloc:
LICENSE.TXT updated: 1.4 -> 1.5
---
Log message:
We've made commits this year; time to update the copyright notice.
---
Diffs of the changes: (+1 -1)
LICENSE.TXT | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm-poolalloc/LICENSE.TXT
diff -u llvm-poolalloc/LICENSE.TXT:1.4 llvm-poolalloc/LICENSE.TXT:1.5
--- llvm-poolalloc/LICENSE.TXT:1.4 Wed May 18 14:56:19 2005
+++ llvm-poolalloc/LICENSE.TXT Wed Jul 26 15:49:06 2006
@@ -4,7 +4,7 @@
University of Illinois/NCSA
Open Source License
-Copyright (c) 2003, 2004, 2005 University of Illinois at Urbana-Champaign.
+Copyright (c) 2003, 2004, 2005, 2006 University of Illinois at Urbana-Champaign.
All rights reserved.
Developed by:
From reid at x10sys.com Wed Jul 26 16:08:23 2006
From: reid at x10sys.com (Reid Spencer)
Date: Wed, 26 Jul 2006 16:08:23 -0500
Subject: [llvm-commits] CVS: llvm/autoconf/m4/build_exeext.m4
Message-ID: <200607262108.k6QL8N7V030997@zion.cs.uiuc.edu>
Changes in directory llvm/autoconf/m4:
build_exeext.m4 updated: 1.1 -> 1.2
---
Log message:
Remove an extraneous use of ${ac_exeext}. Patch by Anton Korobeynikov.
---
Diffs of the changes: (+1 -1)
build_exeext.m4 | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/autoconf/m4/build_exeext.m4
diff -u llvm/autoconf/m4/build_exeext.m4:1.1 llvm/autoconf/m4/build_exeext.m4:1.2
--- llvm/autoconf/m4/build_exeext.m4:1.1 Wed Jul 26 15:45:12 2006
+++ llvm/autoconf/m4/build_exeext.m4 Wed Jul 26 16:08:09 2006
@@ -18,7 +18,7 @@
fi
fi
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
- ac_build_link='${BUILD_CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
+ ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_build_exeext=
From lattner at cs.uiuc.edu Wed Jul 26 16:12:20 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 16:12:20 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
PPCISelLowering.cpp PPCTargetMachine.cpp
Message-ID: <200607262112.k6QLCKgR031178@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/PowerPC:
PPCAsmPrinter.cpp updated: 1.187 -> 1.188
PPCISelLowering.cpp updated: 1.198 -> 1.199
PPCTargetMachine.cpp updated: 1.98 -> 1.99
---
Log message:
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
---
Diffs of the changes: (+7 -7)
PPCAsmPrinter.cpp | 6 +++---
PPCISelLowering.cpp | 6 +++---
PPCTargetMachine.cpp | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.187 llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.188
--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.187 Fri Jul 14 20:24:23 2006
+++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp Wed Jul 26 16:12:04 2006
@@ -173,7 +173,7 @@
} else {
O << "ha16(";
printOp(MI->getOperand(OpNo));
- if (TM.getRelocationModel() == Reloc::PIC)
+ if (TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\")";
else
O << ')';
@@ -185,7 +185,7 @@
} else {
O << "lo16(";
printOp(MI->getOperand(OpNo));
- if (TM.getRelocationModel() == Reloc::PIC)
+ if (TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\")";
else
O << ')';
@@ -599,7 +599,7 @@
bool isPPC64 = TD->getPointerSizeInBits() == 64;
// Output stubs for dynamically-linked functions
- if (TM.getRelocationModel() == Reloc::PIC) {
+ if (TM.getRelocationModel() == Reloc::PIC_) {
for (std::set
::iterator i = FnStubs.begin(), e = FnStubs.end();
i != e; ++i) {
SwitchToTextSection(".section __TEXT,__picsymbolstub1,symbol_stubs,"
Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.198 llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.199
--- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.198 Mon Jul 10 15:56:58 2006
+++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Jul 26 16:12:04 2006
@@ -619,7 +619,7 @@
return DAG.getNode(ISD::ADD, PtrVT, Hi, Lo);
}
- if (TM.getRelocationModel() == Reloc::PIC) {
+ if (TM.getRelocationModel() == Reloc::PIC_) {
// With PIC, the first instruction is actually "GR+hi(&G)".
Hi = DAG.getNode(ISD::ADD, PtrVT,
DAG.getNode(PPCISD::GlobalBaseReg, PtrVT), Hi);
@@ -649,7 +649,7 @@
return DAG.getNode(ISD::ADD, PtrVT, Hi, Lo);
}
- if (TM.getRelocationModel() == Reloc::PIC) {
+ if (TM.getRelocationModel() == Reloc::PIC_) {
// With PIC, the first instruction is actually "GR+hi(&G)".
Hi = DAG.getNode(ISD::ADD, PtrVT,
DAG.getNode(PPCISD::GlobalBaseReg, MVT::i32), Hi);
@@ -680,7 +680,7 @@
return DAG.getNode(ISD::ADD, PtrVT, Hi, Lo);
}
- if (TM.getRelocationModel() == Reloc::PIC) {
+ if (TM.getRelocationModel() == Reloc::PIC_) {
// With PIC, the first instruction is actually "GR+hi(&G)".
Hi = DAG.getNode(ISD::ADD, PtrVT,
DAG.getNode(PPCISD::GlobalBaseReg, PtrVT), Hi);
Index: llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
diff -u llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.98 llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.99
--- llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.98 Fri Jul 14 20:24:23 2006
+++ llvm/lib/Target/PowerPC/PPCTargetMachine.cpp Wed Jul 26 16:12:04 2006
@@ -94,7 +94,7 @@
if (Subtarget.isDarwin())
setRelocationModel(Reloc::DynamicNoPIC);
else
- setRelocationModel(Reloc::PIC);
+ setRelocationModel(Reloc::PIC_);
}
PPC32TargetMachine::PPC32TargetMachine(const Module &M, const std::string &FS)
From lattner at cs.uiuc.edu Wed Jul 26 16:12:21 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 16:12:21 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/TargetMachine.cpp
Message-ID: <200607262112.k6QLCL53031183@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target:
TargetMachine.cpp updated: 1.49 -> 1.50
---
Log message:
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
---
Diffs of the changes: (+1 -1)
TargetMachine.cpp | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/lib/Target/TargetMachine.cpp
diff -u llvm/lib/Target/TargetMachine.cpp:1.49 llvm/lib/Target/TargetMachine.cpp:1.50
--- llvm/lib/Target/TargetMachine.cpp:1.49 Wed Jul 5 20:53:35 2006
+++ llvm/lib/Target/TargetMachine.cpp Wed Jul 26 16:12:04 2006
@@ -66,7 +66,7 @@
"Target default relocation model"),
clEnumValN(Reloc::Static, "static",
"Non-relocatable code"),
- clEnumValN(Reloc::PIC, "pic",
+ clEnumValN(Reloc::PIC_, "pic",
"Fully relocatable, position independent code"),
clEnumValN(Reloc::DynamicNoPIC, "dynamic-no-pic",
"Relocatable external references, non-relocatable code"),
From lattner at cs.uiuc.edu Wed Jul 26 16:12:23 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 16:12:23 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
X86ISelLowering.cpp X86TargetMachine.cpp
Message-ID: <200607262112.k6QLCNno031193@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86ATTAsmPrinter.cpp updated: 1.53 -> 1.54
X86ISelLowering.cpp updated: 1.239 -> 1.240
X86TargetMachine.cpp updated: 1.118 -> 1.119
---
Log message:
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
---
Diffs of the changes: (+7 -7)
X86ATTAsmPrinter.cpp | 4 ++--
X86ISelLowering.cpp | 8 ++++----
X86TargetMachine.cpp | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
Index: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.53 llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.54
--- llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.53 Wed Jul 19 06:54:50 2006
+++ llvm/lib/Target/X86/X86ATTAsmPrinter.cpp Wed Jul 26 16:12:04 2006
@@ -152,7 +152,7 @@
O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
<< MO.getConstantPoolIndex();
if (Subtarget->TargetType == X86Subtarget::isDarwin &&
- TM.getRelocationModel() == Reloc::PIC)
+ TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
int Offset = MO.getOffset();
if (Offset > 0)
@@ -185,7 +185,7 @@
} else {
O << Mang->getValueName(GV);
}
- if (!isCallOp && TM.getRelocationModel() == Reloc::PIC)
+ if (!isCallOp && TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
} else
O << Mang->getValueName(MO.getGlobal());
Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.239 llvm/lib/Target/X86/X86ISelLowering.cpp:1.240
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.239 Fri Jul 21 03:26:46 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp Wed Jul 26 16:12:04 2006
@@ -2746,7 +2746,7 @@
CP->getAlignment()));
if (Subtarget->isTargetDarwin()) {
// With PIC, the address is actually $g + Offset.
- if (getTargetMachine().getRelocationModel() == Reloc::PIC)
+ if (getTargetMachine().getRelocationModel() == Reloc::PIC_)
Result = DAG.getNode(ISD::ADD, getPointerTy(),
DAG.getNode(X86ISD::GlobalBaseReg, getPointerTy()), Result);
}
@@ -2762,7 +2762,7 @@
getPointerTy()));
if (Subtarget->isTargetDarwin()) {
// With PIC, the address is actually $g + Offset.
- if (getTargetMachine().getRelocationModel() == Reloc::PIC)
+ if (getTargetMachine().getRelocationModel() == Reloc::PIC_)
Result = DAG.getNode(ISD::ADD, getPointerTy(),
DAG.getNode(X86ISD::GlobalBaseReg, getPointerTy()),
Result);
@@ -2788,7 +2788,7 @@
getPointerTy()));
if (Subtarget->isTargetDarwin()) {
// With PIC, the address is actually $g + Offset.
- if (getTargetMachine().getRelocationModel() == Reloc::PIC)
+ if (getTargetMachine().getRelocationModel() == Reloc::PIC_)
Result = DAG.getNode(ISD::ADD, getPointerTy(),
DAG.getNode(X86ISD::GlobalBaseReg, getPointerTy()),
Result);
@@ -3173,7 +3173,7 @@
getPointerTy()));
if (Subtarget->isTargetDarwin()) {
// With PIC, the address is actually $g + Offset.
- if (getTargetMachine().getRelocationModel() == Reloc::PIC)
+ if (getTargetMachine().getRelocationModel() == Reloc::PIC_)
Result = DAG.getNode(ISD::ADD, getPointerTy(),
DAG.getNode(X86ISD::GlobalBaseReg, getPointerTy()),
Result);
Index: llvm/lib/Target/X86/X86TargetMachine.cpp
diff -u llvm/lib/Target/X86/X86TargetMachine.cpp:1.118 llvm/lib/Target/X86/X86TargetMachine.cpp:1.119
--- llvm/lib/Target/X86/X86TargetMachine.cpp:1.118 Tue Jul 25 15:40:54 2006
+++ llvm/lib/Target/X86/X86TargetMachine.cpp Wed Jul 26 16:12:04 2006
@@ -78,7 +78,7 @@
if (Subtarget.isTargetDarwin())
setRelocationModel(Reloc::DynamicNoPIC);
else
- setRelocationModel(Reloc::PIC);
+ setRelocationModel(Reloc::PIC_);
}
From lattner at cs.uiuc.edu Wed Jul 26 16:12:24 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 16:12:24 -0500
Subject: [llvm-commits] CVS: llvm/include/llvm/Target/TargetMachine.h
Message-ID: <200607262112.k6QLCOv8031198@zion.cs.uiuc.edu>
Changes in directory llvm/include/llvm/Target:
TargetMachine.h updated: 1.66 -> 1.67
---
Log message:
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
---
Diffs of the changes: (+1 -1)
TargetMachine.h | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/include/llvm/Target/TargetMachine.h
diff -u llvm/include/llvm/Target/TargetMachine.h:1.66 llvm/include/llvm/Target/TargetMachine.h:1.67
--- llvm/include/llvm/Target/TargetMachine.h:1.66 Wed Jul 5 20:53:36 2006
+++ llvm/include/llvm/Target/TargetMachine.h Wed Jul 26 16:12:04 2006
@@ -39,7 +39,7 @@
enum Model {
Default,
Static,
- PIC,
+ PIC_, // Cannot be named PIC due to collision with -DPIC
DynamicNoPIC
};
}
From lattner at cs.uiuc.edu Wed Jul 26 16:14:18 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 16:14:18 -0500
Subject: [llvm-commits] CVS: llvm/tools/llvm-config/find-cycles.pl
Message-ID: <200607262114.k6QLEIsl031304@zion.cs.uiuc.edu>
Changes in directory llvm/tools/llvm-config:
find-cycles.pl updated: 1.3 -> 1.4
---
Log message:
Avoid a "scary" make warning for the 1.8 release. This should be reenabled
right after 1.8 "ships".
---
Diffs of the changes: (+4 -1)
find-cycles.pl | 5 ++++-
1 files changed, 4 insertions(+), 1 deletion(-)
Index: llvm/tools/llvm-config/find-cycles.pl
diff -u llvm/tools/llvm-config/find-cycles.pl:1.3 llvm/tools/llvm-config/find-cycles.pl:1.4
--- llvm/tools/llvm-config/find-cycles.pl:1.3 Wed Jul 26 12:10:54 2006
+++ llvm/tools/llvm-config/find-cycles.pl Wed Jul 26 16:14:04 2006
@@ -70,7 +70,10 @@
join(' ', sort keys %dependencies) . "\n");
}
print sort @output;
-exit $cycles_found;
+
+### FIXME: reenable this after 1.8.
+#exit $cycles_found;
+exit 0;
#==========================================================================
# Depedency Cycle Support
From reid at x10sys.com Wed Jul 26 16:15:12 2006
From: reid at x10sys.com (Reid Spencer)
Date: Wed, 26 Jul 2006 16:15:12 -0500
Subject: [llvm-commits] CVS: llvm/autoconf/configure.ac
Message-ID: <200607262115.k6QLFCTj031335@zion.cs.uiuc.edu>
Changes in directory llvm/autoconf:
configure.ac updated: 1.237 -> 1.238
---
Log message:
For PR814: http://llvm.org/PR814 :
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!
---
Diffs of the changes: (+10 -2)
configure.ac | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
Index: llvm/autoconf/configure.ac
diff -u llvm/autoconf/configure.ac:1.237 llvm/autoconf/configure.ac:1.238
--- llvm/autoconf/configure.ac:1.237 Thu Jul 6 02:45:49 2006
+++ llvm/autoconf/configure.ac Wed Jul 26 16:14:56 2006
@@ -98,9 +98,9 @@
dnl Determine the platform type and cache its value. This helps us configure
dnl the System library to the correct build platform.
-AC_CACHE_CHECK([type of operating system we're on],
+AC_CACHE_CHECK([type of operating system we're going to host on],
[llvm_cv_os_type],
-[case $build in
+[case $host in
*-*-aix*)
llvm_cv_os_type="AIX"
llvm_cv_platform_type="Unix" ;;
@@ -188,6 +188,14 @@
dnl Check for the endianness of the target
AC_C_BIGENDIAN(AC_SUBST([ENDIAN],[big]),AC_SUBST([ENDIAN],[little]))
+dnl Check for build platform executable suffix if we're crosscompiling
+if test "$cross_compiling" = yes; then
+ AC_SUBST(LLVM_CROSS_COMPILING, [1])
+ AC_BUILD_EXEEXT
+else
+ AC_SUBST(LLVM_CROSS_COMPILING, [0])
+fi
+
dnl Check to see if there's a "CVS" directory indicating that this build is
dnl being done from a CVS checkout. This sets up several defaults for the
dnl command line switches. When we build with a CVS directory, we get a
From reid at x10sys.com Wed Jul 26 16:15:12 2006
From: reid at x10sys.com (Reid Spencer)
Date: Wed, 26 Jul 2006 16:15:12 -0500
Subject: [llvm-commits] CVS: llvm/Makefile.config.in Makefile.rules
configure
Message-ID: <200607262115.k6QLFCoU031344@zion.cs.uiuc.edu>
Changes in directory llvm:
Makefile.config.in updated: 1.59 -> 1.60
Makefile.rules updated: 1.390 -> 1.391
configure updated: 1.240 -> 1.241
---
Log message:
For PR814: http://llvm.org/PR814 :
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!
---
Diffs of the changes: (+230 -38)
Makefile.config.in | 11 +-
Makefile.rules | 6 +
configure | 251 +++++++++++++++++++++++++++++++++++++++++++++--------
3 files changed, 230 insertions(+), 38 deletions(-)
Index: llvm/Makefile.config.in
diff -u llvm/Makefile.config.in:1.59 llvm/Makefile.config.in:1.60
--- llvm/Makefile.config.in:1.59 Tue Jun 20 17:16:32 2006
+++ llvm/Makefile.config.in Wed Jul 26 16:14:55 2006
@@ -97,6 +97,13 @@
# Target hardware architecture
ARCH=@ARCH@
+# Indicates, whether we're cross-compiling LLVM or not
+LLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@
+
+# Executable file extension for build platform (mainly for
+# tablegen call if we're cross-compiling).
+BUILD_EXEEXT=@BUILD_EXEEXT@
+
# Target triple (cpu-vendor-os) for which we should generate code
TARGET_TRIPLE=@target@
@@ -214,10 +221,10 @@
# Enable JIT for this platform
TARGET_HAS_JIT = @TARGET_HAS_JIT@
-# Shared library extension for this platform.
+# Shared library extension for host platform.
SHLIBEXT = @SHLIBEXT@
-# Executable file extension for this platform.
+# Executable file extension for host platform.
EXEEXT = @EXEEXT@
# Things we just assume are "there"
Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.390 llvm/Makefile.rules:1.391
--- llvm/Makefile.rules:1.390 Wed Jul 26 15:22:26 2006
+++ llvm/Makefile.rules Wed Jul 26 16:14:55 2006
@@ -281,7 +281,11 @@
LLVMAS := $(LLVMToolDir)/llvm-as$(EXEEXT)
endif
ifndef TBLGEN
-TBLGEN := $(LLVMToolDir)/tblgen$(EXEEXT)
+ ifeq ($(LLVM_CROSS_COMPILING),1)
+ TBLGEN := $(LLVMToolDir)/tblgen$(BUILD_EXEEXT)
+ else
+ TBLGEN := $(LLVMToolDir)/tblgen$(EXEEXT)
+ endif
endif
ifndef GCCAS
GCCAS := $(LLVMToolDir)/gccas$(EXEEXT)
Index: llvm/configure
diff -u llvm/configure:1.240 llvm/configure:1.241
--- llvm/configure:1.240 Thu Jul 6 02:46:33 2006
+++ llvm/configure Wed Jul 26 16:14:55 2006
@@ -477,7 +477,7 @@
# include
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_COPYRIGHT subdirs build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os OS LLVM_ON_UNIX LLVM_ON_WIN32 ARCH ENDIAN CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CVSBUILD ENABLE_OPTIMIZED DISABLE_ASSERTIONS DEBUG_RUNTIME JIT TARGET_HAS_JIT ENABLE_DOXYGEN ENABLE_THREADS TARGETS_TO_BUILD EXTRA_OPTIONS CPP CXX CXXFLAGS ac_ct_CXX LEX LEXLIB LEX_OUTPUT_ROOT FLEX YACC BISON ifGNUmake LN_S CMP CP DATE FIND GREP MKDIR MV RANLIB ac_ct_RANLIB RM SED TAR GRAPHVIZ DOT GV DOTTY PERL HAVE_PERL INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA BZIP2 DOXYGEN ETAGS GROFF GZIP POD2HTML POD2MAN !
RUNTEST TCLSH ZIP EGREP INSTALL_LTDL_TRUE INSTALL_LTDL_FALSE CONVENIENCE_LTDL_TRUE CONVENIENCE_LTDL_FALSE LIBADD_DL ECHO AR ac_ct_AR STRIP ac_ct_STRIP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL ETAGSFLAGS LLVMGCC LLVMGXX ALLOCA MMAP_FILE LLVMCC1 LLVMCC1PLUS LLVMGCCDIR LLVMGCC_VERSION LLVMGCC_MAJVERS SHLIBEXT LLVM_PREFIX LLVM_BINDIR LLVM_LIBDIR LLVM_DATADIR LLVM_DOCSDIR LLVM_ETCDIR LLVM_INCLUDEDIR LLVM_INFODIR LLVM_MANDIR LLVM_CONFIGTIME LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS LLVM_COPYRIGHT subdirs build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os OS LLVM_ON_UNIX LLVM_ON_WIN32 ARCH ENDIAN CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LLVM_CROSS_COMPILING BUILD_CC BUILD_EXEEXT CVSBUILD ENABLE_OPTIMIZED DISABLE_ASSERTIONS DEBUG_RUNTIME JIT TARGET_HAS_JIT ENABLE_DOXYGEN ENABLE_THREADS TARGETS_TO_BUILD EXTRA_OPTIONS CPP CXX CXXFLAGS ac_ct_CXX LEX LEXLIB LEX_OUTPUT_ROOT FLEX YACC BISON ifGNUmake LN_S CMP CP DATE FIND GREP MKDIR MV RANLIB ac_ct_RANLIB RM SED TAR GRAPHVIZ DOT GV DOTTY PERL HAVE_PERL INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA BZIP2!
DOXYGEN ETAGS GROFF GZIP POD2HTML POD2MAN RUNTEST TCLSH ZIP EGREP INSTALL_LTDL_TRUE INSTALL_LTDL_FALSE CONVENIENCE_LTDL_TRUE CONVENIENCE_LTDL_FALSE LIBADD_DL ECHO AR ac_ct_AR STRIP ac_ct_STRIP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL ETAGSFLAGS LLVMGCC LLVMGXX ALLOCA MMAP_FILE LLVMCC1 LLVMCC1PLUS LLVMGCCDIR LLVMGCC_VERSION LLVMGCC_MAJVERS SHLIBEXT LLVM_PREFIX LLVM_BINDIR LLVM_LIBDIR LLVM_DATADIR LLVM_DOCSDIR LLVM_ETCDIR LLVM_INCLUDEDIR LLVM_INFODIR LLVM_MANDIR LLVM_CONFIGTIME LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1710,12 +1710,12 @@
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-echo "$as_me:$LINENO: checking type of operating system we're on" >&5
-echo $ECHO_N "checking type of operating system we're on... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking type of operating system we're going to host on" >&5
+echo $ECHO_N "checking type of operating system we're going to host on... $ECHO_C" >&6
if test "${llvm_cv_os_type+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- case $build in
+ case $host in
*-*-aix*)
llvm_cv_os_type="AIX"
llvm_cv_platform_type="Unix" ;;
@@ -2977,6 +2977,185 @@
esac
+if test "$cross_compiling" = yes; then
+ LLVM_CROSS_COMPILING=1
+
+
+echo "$as_me:$LINENO: checking for executable suffix on build platform" >&5
+echo $ECHO_N "checking for executable suffix on build platform... $ECHO_C" >&6
+if test "${ac_cv_build_exeext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_build_exeext=.exe
+else
+ ac_build_prefix=${build_alias}-
+
+ # Extract the first word of "${ac_build_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_build_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$BUILD_CC"; then
+ ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_BUILD_CC="${ac_build_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+BUILD_CC=$ac_cv_prog_BUILD_CC
+if test -n "$BUILD_CC"; then
+ echo "$as_me:$LINENO: result: $BUILD_CC" >&5
+echo "${ECHO_T}$BUILD_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ if test -z "$BUILD_CC"; then
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$BUILD_CC"; then
+ ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_BUILD_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+BUILD_CC=$ac_cv_prog_BUILD_CC
+if test -n "$BUILD_CC"; then
+ echo "$as_me:$LINENO: result: $BUILD_CC" >&5
+echo "${ECHO_T}$BUILD_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ if test -z "$BUILD_CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$BUILD_CC"; then
+ ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_BUILD_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_BUILD_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set BUILD_CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_BUILD_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+BUILD_CC=$ac_cv_prog_BUILD_CC
+if test -n "$BUILD_CC"; then
+ echo "$as_me:$LINENO: result: $BUILD_CC" >&5
+echo "${ECHO_T}$BUILD_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ fi
+ fi
+ test -z "$BUILD_CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_build_exeext=
+ if { (eval echo "$as_me:$LINENO: \"$ac_build_link\"") >&5
+ (eval $ac_build_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj) ;;
+ *) ac_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { { echo "$as_me:$LINENO: error: installation or configuration problem: compiler cannot create executables." >&5
+echo "$as_me: error: installation or configuration problem: compiler cannot create executables." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_build_exeext}" = x && ac_cv_build_exeext=blank
+fi
+fi
+
+BUILD_EXEEXT=""
+test x"${ac_cv_build_exeext}" != xblank && BUILD_EXEEXT=${ac_cv_build_exeext}
+echo "$as_me:$LINENO: result: ${ac_cv_build_exeext}" >&5
+echo "${ECHO_T}${ac_cv_build_exeext}" >&6
+ac_build_exeext=$BUILD_EXEEXT
+
+else
+ LLVM_CROSS_COMPILING=0
+
+fi
+
if test -d "CVS" -o -d "${srcdir}/CVS"; then
cvsbuild="yes"
optimize="no"
@@ -3163,10 +3342,9 @@
esac
-
# Check whether --with-extra-options or --without-extra-options was given.
if test "${with_extra_options+set}" = set; then
- extraopts="$with_extra_options"
+ withval="$with_extra_options"
else
extraopts=default
@@ -8571,7 +8749,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext < conftest.$ac_ext
+ echo '#line 10743 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -11047,7 +11225,7 @@
# Provide some information about the compiler.
-echo "$as_me:11034:" \
+echo "$as_me:11228:" \
"checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5
@@ -12104,11 +12282,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12091: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12285: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12095: \$? = $ac_status" >&5
+ echo "$as_me:12289: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -12347,11 +12525,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12334: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12528: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12338: \$? = $ac_status" >&5
+ echo "$as_me:12532: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -12407,11 +12585,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12394: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12588: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12398: \$? = $ac_status" >&5
+ echo "$as_me:12592: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14592,7 +14770,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext < conftest.$ac_ext <&5)
+ (eval echo "\"\$as_me:17064: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16874: \$? = $ac_status" >&5
+ echo "$as_me:17068: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -16943,11 +17121,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16930: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17124: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16934: \$? = $ac_status" >&5
+ echo "$as_me:17128: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -18304,7 +18482,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext < conftest.$ac_ext <&5)
+ (eval echo "\"\$as_me:19420: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19230: \$? = $ac_status" >&5
+ echo "$as_me:19424: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -19299,11 +19477,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19286: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19480: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19290: \$? = $ac_status" >&5
+ echo "$as_me:19484: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -21338,11 +21516,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21325: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21519: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:21329: \$? = $ac_status" >&5
+ echo "$as_me:21523: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -21581,11 +21759,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21568: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21762: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:21572: \$? = $ac_status" >&5
+ echo "$as_me:21766: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -21641,11 +21819,11 @@
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21628: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21822: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:21632: \$? = $ac_status" >&5
+ echo "$as_me:21826: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -23826,7 +24004,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext < conftest.$ac_ext <
Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.121 -> 1.122
---
Log message:
New entry.
---
Diffs of the changes: (+5 -0)
README.txt | 5 +++++
1 files changed, 5 insertions(+)
Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.121 llvm/lib/Target/X86/README.txt:1.122
--- llvm/lib/Target/X86/README.txt:1.121 Fri Jul 21 18:07:23 2006
+++ llvm/lib/Target/X86/README.txt Wed Jul 26 16:49:52 2006
@@ -729,3 +729,8 @@
0000002a flds (%esp,1)
0000002d addl $0x04,%esp
00000030 ret
+
+//===---------------------------------------------------------------------===//
+
+When using fastcc abi, align stack slot of argument of type double on 8 byte
+boundary to improve performance.
From evan.cheng at apple.com Wed Jul 26 18:06:41 2006
From: evan.cheng at apple.com (Evan Cheng)
Date: Wed, 26 Jul 2006 18:06:41 -0500
Subject: [llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp
Message-ID: <200607262306.k6QN6fMT001298@zion.cs.uiuc.edu>
Changes in directory llvm/utils/TableGen:
DAGISelEmitter.cpp updated: 1.225 -> 1.226
---
Log message:
Fix for bug 840: http://llvm.org/PR840 . Only use noinline attribute if gcc version >= 3.4
---
Diffs of the changes: (+6 -3)
DAGISelEmitter.cpp | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.225 llvm/utils/TableGen/DAGISelEmitter.cpp:1.226
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.225 Fri Jul 21 17:19:51 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp Wed Jul 26 18:06:27 2006
@@ -3363,11 +3363,9 @@
}
CallerCode += ");";
CalleeCode += ") ";
-#ifdef __GNUC__
// Prevent emission routines from being inlined to reduce selection
// routines stack frame sizes.
- CalleeCode += "__attribute__((noinline)) ";
-#endif
+ CalleeCode += "NOINLINE ";
CalleeCode += "{\n" + CalleeDecls;
for (int j = LastPred+1; j < CodeSize; ++j)
CalleeCode += " " + GeneratedCode[j].second + '\n';
@@ -3632,6 +3630,11 @@
<< "// *** instruction selector class. These functions are really "
<< "methods.\n\n";
+ OS << "#if defined(__GNUC__) && \\\n";
+ OS << " ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))\n";
+ OS << "#define NOINLINE __attribute__((noinline))\n";
+ OS << "#endif\n\n";
+
OS << "// Instance var to keep track of multiply used nodes that have \n"
<< "// already been selected.\n"
<< "std::map CodeGenMap;\n";
From pjenkins at apple.com Wed Jul 26 18:23:08 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 18:23:08 -0500
Subject: [llvm-commits] CVS: nightlytest-serverside/drawfilesizegraph.php
Message-ID: <200607262323.k6QNN873001631@zion.cs.uiuc.edu>
Changes in directory nightlytest-serverside:
drawfilesizegraph.php added (r1.1)
---
Log message:
Adding a script to create a graph of file sizes. this script hasnt been tested yet and certainly needs debugging.
---
Diffs of the changes: (+235 -0)
drawfilesizegraph.php | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 235 insertions(+)
Index: nightlytest-serverside/drawfilesizegraph.php
diff -c /dev/null nightlytest-serverside/drawfilesizegraph.php:1.1
*** /dev/null Wed Jul 26 18:23:04 2006
--- nightlytest-serverside/drawfilesizegraph.php Wed Jul 26 18:22:54 2006
***************
*** 0 ****
--- 1,235 ----
+ = \"$start\"";
+ }
+
+
+ if(isset($HTTP_GET_VARS['normalize'])){
+ if(strcmp($HTTP_GET_VARS['normalize'],"true")==0){
+ $NORMALIZE=1;
+ }
+ else{
+ $NORMALIZE=0;
+ }
+ }
+ else{
+ $NORMALIZE=0;
+ }
+
+ if(isset($HTTP_GET_VARS['showdata'])){
+ if(strcmp($HTTP_GET_VARS['showdata'],"true")==0){
+ $SHOWDATA=1;
+ }
+ else{
+ $SHOWDATA=0;
+ }
+ }
+ else{
+ $SHOWDATA=0;
+ }
+ if(isset($HTTP_GET_VARS['showpoints'])){
+ if(strcmp($HTTP_GET_VARS['showpoints'],"true")==0){
+ $SHOWPOINTS=1;
+ }
+ else{
+ $SHOWPOINTS=0;
+ }
+ }
+ else{
+ $SHOWPOINTS=0;
+ }
+
+ /********************************
+ *
+ * printing error image if necessary
+ *
+ ********************************/
+ if($URL_ERROR==1){
+ printErrorMsg("URL Error: $error_msg. Could not draw graph.", $DEBUG);
+ }
+
+ /********************************
+ *
+ * creating the graph
+ *
+ ********************************/
+ // Callback formatting function for the X-scale to convert timestamps
+ // to hour and minutes.
+ function TimeCallback( $aVal) {
+ return Date ('m-d-y', $aVal);
+ }
+
+ $graph = new Graph($xsize,$ysize);
+ $graph->SetScale("datelin");
+ $graph->tabtitle->Set(" $name ");
+ $graph->xaxis->SetLabelAngle(90);
+ $graph->SetMargin(50,10,30,110+sizeof($files)*18);
+ $graph->xaxis->title->Set("");
+ $graph->xaxis->title->SetMargin(80);
+ $graph->yaxis->title->Set("");
+ $graph->yaxis->title->SetMargin(30);
+ $graph->SetFrame(false);
+ $graph->SetMarginColor("White");
+ $graph->legend->SetShadow('gray at 0.4',5);
+ $graph->legend->SetAbsPos($xsize*.2,$ysize-(40+(sizeof($files)*18)),'top','left');
+ $graph->legend->hide(false);
+ $graph->ygrid->SetFill(true,'#EFEFEF at 0.5','#BBCCFF at 0.5');
+ $graph->xgrid->Show();
+ $graph->xaxis->scale->SetTimeAlign(MONTHADJ_1);
+ $graph->xaxis-> SetLabelFormatCallback( 'TimeCallback');
+
+ /********************************
+ *
+ * executing the query by...
+ * 1.) finding all the nights associated with the provided machine
+ * 2.) getting all the correct programs for that night
+ *
+ ********************************/
+
+ $line_arr=array();
+ $color_arr = array("red","blue","green","orange","black", "brown","gray");
+
+ $RELEVANT_DATA=0;
+
+ $index=0;
+ foreach ($files as $file){
+
+ $data = get_file_history($mysql_link, $machine_id, $file)
+
+ $xdata=array();
+ $values=array();
+ $data_max=-1;
+
+ foreach ($data as $d){
+ push_array($xdata, $d[0]);
+ if($d[2] > $data_max){ $data_max=$d[2]; }
+ push_array($values, $d[2]);
+ }
+
+ if($NORMALIZE){
+ for($i=0; $iSetLegend("$file");
+ if($SHOWDATA==1){
+ $line_arr[$index]->value->Show();
+ }
+ if($SHOWPOINTS==1){
+ $line_arr[$index]->mark->SetType(MARK_UTRIANGLE);
+ }
+ $color_index=$index % sizeof($color_arr);
+ $line_arr[$index]->SetColor($color_arr[$color_index]);
+ $graph->Add($line_arr[$index]);
+ $index++;
+ }#end foreach
+
+ if($RELEVANT_DATA==0){
+ printErrorMsg("Error: Graph of $measure contains no data", $DEBUG);
+ }
+
+ if($DEBUG){
+ print "Finished!
$RELEVANT_DATA
\n";
+ }
+ else{
+ $graph->Stroke();
+ }
+
+ ?>
+
From lattner at cs.uiuc.edu Wed Jul 26 18:56:10 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 18:56:10 -0500
Subject: [llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Message-ID: <200607262356.k6QNuAwl002282@zion.cs.uiuc.edu>
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.382 -> 1.383
---
Log message:
Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.
This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847: http://llvm.org/PR847 .
---
Diffs of the changes: (+21 -6)
LegalizeDAG.cpp | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.382 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.383
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.382 Tue Jul 11 12:58:07 2006
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Jul 26 18:55:56 2006
@@ -177,7 +177,8 @@
/// build_vector Mask. If it's not a legal shuffle, it returns null.
SDNode *isShuffleLegal(MVT::ValueType VT, SDOperand Mask) const;
- bool LegalizeAllNodesNotLeadingTo(SDNode *N, SDNode *Dest);
+ bool LegalizeAllNodesNotLeadingTo(SDNode *N, SDNode *Dest,
+ std::set &NodesLeadingTo);
void LegalizeSetCCOperands(SDOperand &LHS, SDOperand &RHS, SDOperand &CC);
@@ -406,10 +407,18 @@
/// LegalizeAllNodesNotLeadingTo - Recursively walk the uses of N, looking to
/// see if any uses can reach Dest. If no dest operands can get to dest,
/// legalize them, legalize ourself, and return false, otherwise, return true.
-bool SelectionDAGLegalize::LegalizeAllNodesNotLeadingTo(SDNode *N,
- SDNode *Dest) {
+///
+/// Keep track of the nodes we fine that actually do lead to Dest in
+/// NodesLeadingTo. This avoids retraversing them exponential number of times.
+///
+bool SelectionDAGLegalize::LegalizeAllNodesNotLeadingTo(SDNode *N, SDNode *Dest,
+ std::set &NodesLeadingTo) {
if (N == Dest) return true; // N certainly leads to Dest :)
+ // If we've already processed this node and it does lead to Dest, there is no
+ // need to reprocess it.
+ if (NodesLeadingTo.count(N)) return true;
+
// If the first result of this node has been already legalized, then it cannot
// reach N.
switch (getTypeAction(N->getValueType(0))) {
@@ -429,9 +438,12 @@
bool OperandsLeadToDest = false;
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i)
OperandsLeadToDest |= // If an operand leads to Dest, so do we.
- LegalizeAllNodesNotLeadingTo(N->getOperand(i).Val, Dest);
+ LegalizeAllNodesNotLeadingTo(N->getOperand(i).Val, Dest, NodesLeadingTo);
- if (OperandsLeadToDest) return true;
+ if (OperandsLeadToDest) {
+ NodesLeadingTo.insert(N);
+ return true;
+ }
// Okay, this node looks safe, legalize it and return false.
HandleOp(SDOperand(N, 0));
@@ -1043,8 +1055,11 @@
// Recursively Legalize all of the inputs of the call end that do not lead
// to this call start. This ensures that any libcalls that need be inserted
// are inserted *before* the CALLSEQ_START.
+ {std::set NodesLeadingTo;
for (unsigned i = 0, e = CallEnd->getNumOperands(); i != e; ++i)
- LegalizeAllNodesNotLeadingTo(CallEnd->getOperand(i).Val, Node);
+ LegalizeAllNodesNotLeadingTo(CallEnd->getOperand(i).Val, Node,
+ NodesLeadingTo);
+ }
// Now that we legalized all of the inputs (which may have inserted
// libcalls) create the new CALLSEQ_START node.
From lattner at cs.uiuc.edu Wed Jul 26 19:04:28 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 19:04:28 -0500
Subject: [llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/Intercept.cpp
Message-ID: <200607270004.k6R04SKE002702@zion.cs.uiuc.edu>
Changes in directory llvm/lib/ExecutionEngine/JIT:
Intercept.cpp updated: 1.26 -> 1.27
---
Log message:
Fix warning on linux
---
Diffs of the changes: (+8 -8)
Intercept.cpp | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
Index: llvm/lib/ExecutionEngine/JIT/Intercept.cpp
diff -u llvm/lib/ExecutionEngine/JIT/Intercept.cpp:1.26 llvm/lib/ExecutionEngine/JIT/Intercept.cpp:1.27
--- llvm/lib/ExecutionEngine/JIT/Intercept.cpp:1.26 Thu Jun 1 12:12:14 2006
+++ llvm/lib/ExecutionEngine/JIT/Intercept.cpp Wed Jul 26 19:04:14 2006
@@ -52,14 +52,14 @@
#include
#endif
void *FunctionPointers[] = {
- (void *) stat,
- (void *) fstat,
- (void *) lstat,
- (void *) stat64,
- (void *) fstat64,
- (void *) lstat64,
- (void *) atexit,
- (void *) mknod
+ (void *)(intptr_t) stat,
+ (void *)(intptr_t) fstat,
+ (void *)(intptr_t) lstat,
+ (void *)(intptr_t) stat64,
+ (void *)(intptr_t) fstat64,
+ (void *)(intptr_t) lstat64,
+ (void *)(intptr_t) atexit,
+ (void *)(intptr_t) mknod
};
#endif // __linux__
From pjenkins at apple.com Wed Jul 26 19:42:20 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 19:42:20 -0500
Subject: [llvm-commits] CVS: nightlytest-serverside/NightlyTestAccept.cgi
Message-ID: <200607270042.k6R0gKoA003505@zion.cs.uiuc.edu>
Changes in directory nightlytest-serverside:
NightlyTestAccept.cgi updated: 1.32 -> 1.33
---
Log message:
Some reformatting of the nightly test results email along with a change to accomodate the new database schema for file sizes.
---
Diffs of the changes: (+54 -14)
NightlyTestAccept.cgi | 68 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 54 insertions(+), 14 deletions(-)
Index: nightlytest-serverside/NightlyTestAccept.cgi
diff -u nightlytest-serverside/NightlyTestAccept.cgi:1.32 nightlytest-serverside/NightlyTestAccept.cgi:1.33
--- nightlytest-serverside/NightlyTestAccept.cgi:1.32 Wed Jul 26 12:48:44 2006
+++ nightlytest-serverside/NightlyTestAccept.cgi Wed Jul 26 19:42:06 2006
@@ -284,9 +284,7 @@
$y++;
$cvsuserupdatelist=$_[$y];
$y++;
- $a_file_size=$_[$y];
- $y++;
- $o_file_size=$_[$y];
+
@@ -298,7 +296,7 @@
" passing_tests, unexpfail_tests, expfail_tests,".
" newly_passing_tests, newly_failing_tests, new_tests,".
" removed_tests, cvs_added, cvs_removed, cvs_modified,".
- " cvs_usersadd, cvs_usersco, a_file_size, o_file_size) values (".
+ " cvs_usersadd, cvs_usersco) values (".
"\"$machine_id\", \"$db_date\", \"$buildstatus\",".
"\"$configtime_cpu\", \"$configtime_wall\", \"$cvscheckouttime_cpu\",".
"\"$cvscheckouttime_wall\", \"$buildtime_cpu\", \"$buildtime_wall\",".
@@ -309,8 +307,7 @@
"\"$expfail_tests\", \"$newly_passing_tests\", \"$newly_failing_tests\",".
"\"$new_tests\", \"$removed_tests\",".
"\"$cvsaddedfiles\", \"$cvsremovedfiles\", \"$cvsmodifiedfiles\",".
- "\"$cvsusercommitlist\", \"$cvsuserupdatelist\",".
- "\"$a_file_size\", \"$o_file_size\")");
+ "\"$cvsusercommitlist\", \"$cvsuserupdatelist\")");
$d->execute;
@@ -354,7 +351,30 @@
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sub AddProgram{ #$program, $result, $type, $night
- my $d = $dbh->prepare("INSERT INTO program (program, result, type, night) VALUES (\"$_[0]\", \"$_[1]\", \"$_[2]\", $_[3])");
+ $query = "INSERT INTO program (program, result, type, night) VALUES".
+ " (\"$_[0]\", \"$_[1]\", \"$_[2]\", $_[3])";
+ my $d = $dbh->prepare($query);
+ $d->execute;
+}
+
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# mysql> describe file;
+# +-------+---------+------+-----+---------+-------+
+# | Field | Type | Null | Key | Default | Extra |
+# +-------+---------+------+-----+---------+-------+
+# | file | text | | | | |
+# | size | int(11) | | | 0 | |
+# | night | int(11) | | | 0 | |
+# | type | text | YES | | NULL | |
+# +-------+---------+------+-----+---------+-------+
+# 4 rows in set (0.00 sec)
+#
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+sub AddFile{ #$file, $size, $night, $type
+ $query = "INSERT INTO file (file, size, night, type) VALUES (\"$_[0]\", ".
+ "\"$_[1]\", \"$_[2]\", $_[3])";
+ my $d = $dbh->prepare($query);
$d->execute;
}
@@ -432,6 +452,15 @@
$olden_tests="" unless $olden_tests;
my @OLDEN_TESTS = split $spliton, $singlesource_tests;
+my $o_file_size = param('o_file_sizes');
+ $o_file_size="" unless $o_file_size;
+ chomp($o_file_size);
+my @O_FILE_SIZE = split $spliton, $o_file_size;
+my $a_file_size = param('a_file_sizes');
+ $a_file_size="" unless $o_file_size;
+ chomp($a_file_size);
+my @A_FILE_SIZE = split $spliton, $a_file_size;
+
my $filesincvs = param('cvs_file_count');
my $dirsincvs = param('cvs_dir_count');
my $loc = param('lines_of_code');
@@ -463,9 +492,7 @@
my $removed_tests=param('removed_tests');
my $gcc_version = param('gcc_version');
my $warnings = param('warnings');
-my $lines_of_code = param('lines_of_code');
-my $o_file_size = param('o_file_sizes');
-my $a_file_size = param('a_file_sizes');
+my $lines_of_code = param('lines_of_code');
################################################################################
#
@@ -601,8 +628,7 @@
$expfail_tests, $newly_passing_tests, $newly_failing_tests,
$new_tests, $removed_tests,
$cvsaddedfiles, $cvsremovedfiles, $cvsmodifiedfiles,
- $cvsusercommitlist, $cvsuserupdatelist, $a_file_size,
- $o_file_size;
+ $cvsusercommitlist, $cvsuserupdatelist;
foreach $x(keys %singlesource_processed){
AddProgram $x, $singlesource_processed{$x}, "singlesource", $night_id;
@@ -616,6 +642,17 @@
AddProgram $x, $external_processed{$x}, "external", $night_id;
}
+foreach $x (@O_FILE_SIZE){
+ $x =~ m/(.+)\s+(.+)\s+(.+)/gi;
+ AddFile $2, $1, $night_id, $3;
+}
+
+foreach $x (@A_FILE_SIZE){
+ $x =~ m/(.+)\s+(.+)\s+(.+)/gi;
+ AddFile $2, $1, $night_id, $3;
+}
+
+
################################################################################
#
# Adding lines of code
@@ -635,16 +672,19 @@
# Sending email to nightly test email archive
#
################################################################################
-
$link_to_page="http://llvm.org/nightlytest/machine.php?machine=$machine_id";
$email = "$link_to_page\n";
$email .= "Name: $name\n";
$email .= "Nickname: $nickname\n";
$email .= "Buildstatus: $buildstatus\n";
+$newly_passing_tests="None" unless $newly_passing_tests ne "";
$email .= "\nNew Test Passes:\n$newly_passing_tests\n";
+$newly_failing_tests="None" unless $newly_failing_tests ne "";
$email .= "\nNew Test Failures:\n$newly_failing_tests\n";
+$newtests="None" unless $new_tests ne "";
$email .= "\nAdded Tests:\n$new_tests\n";
-$email .= "\nRemoved Tests\n$removed_tests\n";
+$removed_tests="None" unless $removed_tests ne "";
+$email .= "\nRemoved Tests:\n$removed_tests\n";
$email_addr = "llvm-testresults\@cs.uiuc.edu";
`echo "$email" | mail -s '$nickname $hardware nightly tester results' $email_addr`;
From pjenkins at apple.com Wed Jul 26 20:04:00 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 20:04:00 -0500
Subject: [llvm-commits] CVS: llvm/utils/NewNightlyTest.pl
Message-ID: <200607270104.k6R140gG003907@zion.cs.uiuc.edu>
Changes in directory llvm/utils:
NewNightlyTest.pl updated: 1.26 -> 1.27
---
Log message:
This change will allow support for SunOS to the testing script. It adds a check to see if we're running on SunOS and if so, then uses gmake instead of make.
---
Diffs of the changes: (+39 -17)
NewNightlyTest.pl | 56 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 39 insertions(+), 17 deletions(-)
Index: llvm/utils/NewNightlyTest.pl
diff -u llvm/utils/NewNightlyTest.pl:1.26 llvm/utils/NewNightlyTest.pl:1.27
--- llvm/utils/NewNightlyTest.pl:1.26 Sun Jul 23 17:57:28 2006
+++ llvm/utils/NewNightlyTest.pl Wed Jul 26 20:03:46 2006
@@ -178,7 +178,13 @@
$CONFIGUREARGS .= " --enable-jit";
}
-die "Must specify 0 or 3 options!" if (@ARGV != 0 and @ARGV != 3);
+
+if (@ARGV != 0 and @ARGV != 3){
+ foreach $x (@ARGV){
+ print "$x\n";
+ }
+ print "Must specify 0 or 3 options!";
+}
if (@ARGV == 3) {
$CVSRootDir = $ARGV[0];
@@ -186,6 +192,13 @@
$WebDir = $ARGV[2];
}
+if($CVSRootDir eq "" or
+ $BuildDir eq "" or
+ $WebDir eq ""){
+ die("please specify a cvs root directory, a build directory, and a ".
+ "web directory");
+ }
+
if($nickname eq ""){
die ("Please invoke NewNightlyTest.pl with command line option \"-nickname \"");
}
@@ -193,6 +206,15 @@
$BUILDTYPE = "debug";
}
+#FIXME: this is a hack for SunOS, there must be a better way
+if(`uname` eq "SunOS"){
+ $MAKECMD = "gmake";
+}
+else {
+ $MAKECMD="make";
+}
+
+
##############################################################
#
#define the file names we'll use
@@ -596,11 +618,11 @@
system "(time -p $NICE ./configure $CONFIGUREARGS $EXTRAFLAGS) > $BuildLog 2>&1";
if ( $VERBOSE )
{
- print "BUILD STAGE:\n";
- print "(time -p $NICE make $MAKEOPTS) >> $BuildLog 2>&1\n";
+ print "BUILD STAGE:\n";
+ print "(time -p $NICE $MAKECMD $MAKEOPTS) >> $BuildLog 2>&1\n";
}
# Build the entire tree, capturing the output into $BuildLog
- system "(time -p $NICE make $MAKEOPTS) >> $BuildLog 2>&1";
+ system "(time -p $NICE $MAKECMD $MAKEOPTS) >> $BuildLog 2>&1";
}
@@ -637,8 +659,8 @@
$BuildStatus = "Skipped by user";
$BuildError = 1;
}
-elsif (`grep '^make[^:]*: .*Error' $BuildLog | wc -l` + 0 ||
- `grep '^make: \*\*\*.*Stop.' $BuildLog | wc -l`+0) {
+elsif (`grep '^$MAKECMD\[^:]*: .*Error' $BuildLog | wc -l` + 0 ||
+ `grep '^$MAKECMD: \*\*\*.*Stop.' $BuildLog | wc -l`+0) {
$BuildStatus = "Error: compilation aborted";
$BuildError = 1;
print "\n***ERROR BUILDING TREE\n\n";
@@ -683,13 +705,13 @@
if(!$NODEJAGNU) {
if($VERBOSE)
{
- print "DEJAGNU FEATURE/REGRESSION TEST STAGE:\n";
- print "(time -p make $MAKEOPTS check) > $dejagnu_output 2>&1\n";
+ print "DEJAGNU FEATURE/REGRESSION TEST STAGE:\n";
+ print "(time -p $MAKECMD $MAKEOPTS check) > $dejagnu_output 2>&1\n";
}
#Run the feature and regression tests, results are put into testrun.sum
#Full log in testrun.log
- system "(time -p make $MAKEOPTS check) > $dejagnu_output 2>&1";
+ system "(time -p $MAKECMD $MAKEOPTS check) > $dejagnu_output 2>&1";
#Copy the testrun.log and testrun.sum to our webdir
CopyFile("test/testrun.log", $DejagnuLog);
@@ -766,19 +788,19 @@
# Run the programs tests... creating a report.nightly.csv file
if (!$NOTEST) {
- print "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
+ print "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
. "TEST=nightly > $ProgramTestLog 2>&1\n";
- system "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
+ system "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv "
. "TEST=nightly > $ProgramTestLog 2>&1";
- $llcbeta_options=`make print-llcbeta-option`;
+ $llcbeta_options=`$MAKECMD print-llcbeta-option`;
}
my $ProgramsTable;
- if (`grep '^make[^:]: .*Error' $ProgramTestLog | wc -l` + 0){
+ if (`grep '^$MAKECMD\[^:]: .*Error' $ProgramTestLog | wc -l` + 0){
$TestError = 1;
$ProgramsTable="Error running test $SubDir\n";
print "ERROR TESTING\n";
- } elsif (`grep '^make[^:]: .*No rule to make target' $ProgramTestLog | wc -l` + 0) {
+ } elsif (`grep '^$MAKECMD\[^:]: .*No rule to make target' $ProgramTestLog | wc -l` + 0) {
$TestError = 1;
$ProgramsTable="Makefile error running tests $SubDir!\n";
print "ERROR TESTING\n";
@@ -925,13 +947,13 @@
"Olden Test Directory");
# Clean out previous results...
- system "$NICE make $MAKEOPTS clean > /dev/null 2>&1";
+ system "$NICE $MAKECMD $MAKEOPTS clean > /dev/null 2>&1";
# Run the nightly test in this directory, with LARGE_PROBLEM_SIZE and
# GET_STABLE_NUMBERS enabled!
- if( $VERBOSE ) { print "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
+ if( $VERBOSE ) { print "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
" LARGE_PROBLEM_SIZE=1 GET_STABLE_NUMBERS=1 > /dev/null 2>&1\n"; }
- system "make -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
+ system "$MAKECMD -k $MAKEOPTS $PROGTESTOPTS report.nightly.csv.out TEST=nightly " .
" LARGE_PROBLEM_SIZE=1 GET_STABLE_NUMBERS=1 > /dev/null 2>&1";
system "cp report.nightly.csv $OldenTestsLog";
} #else {
From jlaskey at apple.com Wed Jul 26 20:12:39 2006
From: jlaskey at apple.com (Jim Laskey)
Date: Wed, 26 Jul 2006 20:12:39 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86AsmPrinter.h
Message-ID: <200607270112.k6R1CdqW004054@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86AsmPrinter.h updated: 1.23 -> 1.24
---
Log message:
Prevent creation of MachineDebugInfo for intel unless it is darwin. RC842.
---
Diffs of the changes: (+3 -1)
X86AsmPrinter.h | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
Index: llvm/lib/Target/X86/X86AsmPrinter.h
diff -u llvm/lib/Target/X86/X86AsmPrinter.h:1.23 llvm/lib/Target/X86/X86AsmPrinter.h:1.24
--- llvm/lib/Target/X86/X86AsmPrinter.h:1.23 Fri Jul 14 18:05:05 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.h Wed Jul 26 20:12:23 2006
@@ -64,7 +64,9 @@
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
- AU.addRequired();
+ if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ AU.addRequired();
+ }
MachineFunctionPass::getAnalysisUsage(AU);
}
From natebegeman at mac.com Wed Jul 26 20:13:21 2006
From: natebegeman at mac.com (Nate Begeman)
Date: Wed, 26 Jul 2006 20:13:21 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Message-ID: <200607270113.k6R1DLi0004095@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/PowerPC:
PPCAsmPrinter.cpp updated: 1.188 -> 1.189
---
Log message:
Support jump tables when in PIC relocation model
---
Diffs of the changes: (+2 -2)
PPCAsmPrinter.cpp | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.188 llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.189
--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.188 Wed Jul 26 16:12:04 2006
+++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp Wed Jul 26 20:13:04 2006
@@ -282,8 +282,8 @@
Data64bitsDirective = 0; // we can't emit a 64-bit unit
AlignmentIsInBytes = false; // Alignment is by power of 2.
ConstantPoolSection = "\t.const\t";
- // FIXME: Conditionalize jump table section based on PIC
- JumpTableSection = ".const";
+ JumpTableDataSection = ".const";
+ JumpTableTextSection = "\t.text";
LCOMMDirective = "\t.lcomm\t";
StaticCtorsSection = ".mod_init_func";
StaticDtorsSection = ".mod_term_func";
From natebegeman at mac.com Wed Jul 26 20:13:21 2006
From: natebegeman at mac.com (Nate Begeman)
Date: Wed, 26 Jul 2006 20:13:21 -0500
Subject: [llvm-commits]
CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Message-ID: <200607270113.k6R1DLC4004098@zion.cs.uiuc.edu>
Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGISel.cpp updated: 1.259 -> 1.260
---
Log message:
Support jump tables when in PIC relocation model
---
Diffs of the changes: (+10 -4)
SelectionDAGISel.cpp | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.259 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.260
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.259 Thu Jul 20 14:02:21 2006
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Wed Jul 26 20:13:04 2006
@@ -850,9 +850,15 @@
SDOperand Copy = DAG.getCopyFromReg(getRoot(), JT.Reg, PTy);
SDOperand IDX = DAG.getNode(ISD::MUL, PTy, Copy,
DAG.getConstant(PTyBytes, PTy));
- SDOperand ADD = DAG.getNode(ISD::ADD, PTy, IDX, DAG.getJumpTable(JT.JTI,PTy));
+ SDOperand TAB = DAG.getJumpTable(JT.JTI,PTy);
+ SDOperand ADD = DAG.getNode(ISD::ADD, PTy, IDX, TAB);
SDOperand LD = DAG.getLoad(PTy, Copy.getValue(1), ADD, DAG.getSrcValue(0));
- DAG.setRoot(DAG.getNode(ISD::BRIND, MVT::Other, LD.getValue(1), LD));
+ if (TLI.getTargetMachine().getRelocationModel() == Reloc::PIC_) {
+ ADD = DAG.getNode(ISD::ADD, PTy, LD.getValue(0), TAB);
+ DAG.setRoot(DAG.getNode(ISD::BRIND, MVT::Other, LD.getValue(1), ADD));
+ } else {
+ DAG.setRoot(DAG.getNode(ISD::BRIND, MVT::Other, LD.getValue(1), LD));
+ }
}
void SelectionDAGLowering::visitSwitch(SwitchInst &I) {
@@ -896,20 +902,20 @@
// to represent the switch.
MachineFunction *CurMF = CurMBB->getParent();
const BasicBlock *LLVMBB = CurMBB->getBasicBlock();
- Reloc::Model Relocs = TLI.getTargetMachine().getRelocationModel();
// If the switch has more than 5 blocks, and at least 31.25% dense, and the
// target supports indirect branches, then emit a jump table rather than
// lowering the switch to a binary tree of conditional branches.
// FIXME: Make this work with PIC code
if (TLI.isOperationLegal(ISD::BRIND, TLI.getPointerTy()) &&
- (Relocs == Reloc::Static || Relocs == Reloc::DynamicNoPIC) &&
Cases.size() > 5) {
uint64_t First = cast(Cases.front().first)->getRawValue();
uint64_t Last = cast(Cases.back().first)->getRawValue();
double Density = (double)Cases.size() / (double)((Last - First) + 1ULL);
if (Density >= 0.3125) {
+ Reloc::Model Relocs = TLI.getTargetMachine().getRelocationModel();
+
// Create a new basic block to hold the code for loading the address
// of the jump table, and jumping to it. Update successor information;
// we will either branch to the default case for the switch, or the jump
From natebegeman at mac.com Wed Jul 26 20:13:24 2006
From: natebegeman at mac.com (Nate Begeman)
Date: Wed, 26 Jul 2006 20:13:24 -0500
Subject: [llvm-commits] CVS: llvm/lib/CodeGen/AsmPrinter.cpp
Message-ID: <200607270113.k6R1DOCd004105@zion.cs.uiuc.edu>
Changes in directory llvm/lib/CodeGen:
AsmPrinter.cpp updated: 1.84 -> 1.85
---
Log message:
Support jump tables when in PIC relocation model
---
Diffs of the changes: (+18 -16)
AsmPrinter.cpp | 34 ++++++++++++++++++----------------
1 files changed, 18 insertions(+), 16 deletions(-)
Index: llvm/lib/CodeGen/AsmPrinter.cpp
diff -u llvm/lib/CodeGen/AsmPrinter.cpp:1.84 llvm/lib/CodeGen/AsmPrinter.cpp:1.85
--- llvm/lib/CodeGen/AsmPrinter.cpp:1.84 Fri Jul 14 20:34:12 2006
+++ llvm/lib/CodeGen/AsmPrinter.cpp Wed Jul 26 20:13:04 2006
@@ -52,7 +52,8 @@
DataSectionStartSuffix(""),
SectionEndDirectiveSuffix(0),
ConstantPoolSection("\t.section .rodata\n"),
- JumpTableSection("\t.section .rodata\n"),
+ JumpTableDataSection("\t.section .rodata\n"),
+ JumpTableTextSection("\t.text\n"),
StaticCtorsSection("\t.section .ctors,\"aw\", at progbits"),
StaticDtorsSection("\t.section .dtors,\"aw\", at progbits"),
FourByteConstantSection(0),
@@ -89,7 +90,7 @@
O << CurrentSection << TextSectionStartSuffix << '\n';
}
-/// SwitchToTextSection - Switch to the specified text section of the executable
+/// SwitchToDataSection - Switch to the specified data section of the executable
/// if we are not already in it!
///
void AsmPrinter::SwitchToDataSection(const char *NewSection,
@@ -209,29 +210,30 @@
const std::vector &JT = MJTI->getJumpTables();
if (JT.empty()) return;
const TargetData *TD = TM.getTargetData();
+ const char *PtrDataDirective = Data32bitsDirective;
- // FIXME: someday we need to handle PIC jump tables
- assert((TM.getRelocationModel() == Reloc::Static ||
- TM.getRelocationModel() == Reloc::DynamicNoPIC) &&
- "Unhandled relocation model emitting jump table information!");
-
- SwitchToDataSection(JumpTableSection, 0);
+ // Pick the directive to use to print the jump table entries, and switch to
+ // the appropriate section.
+ if (TM.getRelocationModel() == Reloc::PIC_) {
+ SwitchToTextSection(JumpTableTextSection, 0);
+ } else {
+ SwitchToDataSection(JumpTableDataSection, 0);
+ if (TD->getPointerSize() == 8)
+ PtrDataDirective = Data64bitsDirective;
+ }
EmitAlignment(Log2_32(TD->getPointerAlignment()));
- // Pick the directive to use based on the pointer size. FIXME: when we support
- // PIC jumptables, this should always use the 32-bit directive for label
- // differences.
- const char *PtrDataDirective = Data32bitsDirective;
- if (TD->getPointerSize() == 8)
- PtrDataDirective = Data64bitsDirective;
-
for (unsigned i = 0, e = JT.size(); i != e; ++i) {
O << PrivateGlobalPrefix << "JTI" << getFunctionNumber() << '_' << i
<< ":\n";
const std::vector &JTBBs = JT[i].MBBs;
for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii) {
O << PtrDataDirective << ' ';
- printBasicBlockLabel(JTBBs[ii]);
+ printBasicBlockLabel(JTBBs[ii], false, false);
+ if (TM.getRelocationModel() == Reloc::PIC_) {
+ O << '-' << PrivateGlobalPrefix << "JTI" << getFunctionNumber()
+ << '_' << i;
+ }
O << '\n';
}
}
From natebegeman at mac.com Wed Jul 26 20:13:24 2006
From: natebegeman at mac.com (Nate Begeman)
Date: Wed, 26 Jul 2006 20:13:24 -0500
Subject: [llvm-commits] CVS: llvm/include/llvm/CodeGen/AsmPrinter.h
Message-ID: <200607270113.k6R1DO3M004111@zion.cs.uiuc.edu>
Changes in directory llvm/include/llvm/CodeGen:
AsmPrinter.h updated: 1.43 -> 1.44
---
Log message:
Support jump tables when in PIC relocation model
---
Diffs of the changes: (+9 -3)
AsmPrinter.h | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
Index: llvm/include/llvm/CodeGen/AsmPrinter.h
diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.43 llvm/include/llvm/CodeGen/AsmPrinter.h:1.44
--- llvm/include/llvm/CodeGen/AsmPrinter.h:1.43 Wed Jun 28 19:26:09 2006
+++ llvm/include/llvm/CodeGen/AsmPrinter.h Wed Jul 26 20:13:04 2006
@@ -156,9 +156,15 @@
/// before emitting the constant pool for a function.
const char *ConstantPoolSection; // Defaults to "\t.section .rodata\n"
- /// JumpTableSection - This is the section that we SwitchToSection right
- /// before emitting the jump tables for a function.
- const char *JumpTableSection; // Defaults to "\t.section .rodata\n"
+ /// JumpTableDataSection - This is the section that we SwitchToSection right
+ /// before emitting the jump tables for a function when the relocation model
+ /// is not PIC.
+ const char *JumpTableDataSection; // Defaults to "\t.section .rodata\n"
+
+ /// JumpTableTextSection - This is the section that we SwitchToSection right
+ /// before emitting the jump tables for a function when the relocation model
+ /// is PIC.
+ const char *JumpTableTextSection; // Defaults to "\t.text\n"
/// StaticCtorsSection - This is the directive that is emitted to switch to
/// a section to emit the static constructor list.
From natebegeman at mac.com Wed Jul 26 20:13:24 2006
From: natebegeman at mac.com (Nate Begeman)
Date: Wed, 26 Jul 2006 20:13:24 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
X86AsmPrinter.cpp
Message-ID: <200607270113.k6R1DOWi004118@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86ATTAsmPrinter.cpp updated: 1.54 -> 1.55
X86AsmPrinter.cpp updated: 1.189 -> 1.190
---
Log message:
Support jump tables when in PIC relocation model
---
Diffs of the changes: (+4 -2)
X86ATTAsmPrinter.cpp | 4 +++-
X86AsmPrinter.cpp | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.54 llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.55
--- llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.54 Wed Jul 26 16:12:04 2006
+++ llvm/lib/Target/X86/X86ATTAsmPrinter.cpp Wed Jul 26 20:13:04 2006
@@ -143,7 +143,9 @@
if (!isMemOp) O << '$';
O << PrivateGlobalPrefix << "JTI" << getFunctionNumber() << "_"
<< MO.getJumpTableIndex();
- // FIXME: PIC relocation model
+ if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ TM.getRelocationModel() == Reloc::PIC_)
+ O << "-\"L" << getFunctionNumber() << "$pb\"";
return;
}
case MachineOperand::MO_ConstantPoolIndex: {
Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.189 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.190
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.189 Fri Jul 14 18:05:05 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp Wed Jul 26 20:13:04 2006
@@ -62,7 +62,7 @@
ZeroDirective = "\t.space\t"; // ".space N" emits N zeros.
PrivateGlobalPrefix = "L"; // Marker for constant pool idxs
ConstantPoolSection = "\t.const\n";
- JumpTableSection = "\t.const\n"; // FIXME: depends on PIC mode
+ JumpTableDataSection = "\t.const\n"; // FIXME: depends on PIC mode
FourByteConstantSection = "\t.literal4\n";
EightByteConstantSection = "\t.literal8\n";
LCOMMDirective = "\t.lcomm\t";
From pjenkins at apple.com Wed Jul 26 20:17:31 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 20:17:31 -0500
Subject: [llvm-commits] CVS: llvm/utils/NewNightlyTest.pl
Message-ID: <200607270117.k6R1HVsK004232@zion.cs.uiuc.edu>
Changes in directory llvm/utils:
NewNightlyTest.pl updated: 1.27 -> 1.28
---
Log message:
added support for the -use-gmake option. This will come in handy when running the test on SunOS.
---
Diffs of the changes: (+10 -12)
NewNightlyTest.pl | 22 ++++++++++------------
1 files changed, 10 insertions(+), 12 deletions(-)
Index: llvm/utils/NewNightlyTest.pl
diff -u llvm/utils/NewNightlyTest.pl:1.27 llvm/utils/NewNightlyTest.pl:1.28
--- llvm/utils/NewNightlyTest.pl:1.27 Wed Jul 26 20:03:46 2006
+++ llvm/utils/NewNightlyTest.pl Wed Jul 26 20:17:17 2006
@@ -52,6 +52,8 @@
# the default.
# -compileflags Next argument specifies extra options passed to make when
# building LLVM.
+# -use-gmake Use gmake instead of the default make command to build
+# llvm and run tests.
#
# ---------------- Options to configure llvm-test ----------------------------
# -extraflags Next argument specifies extra options that are passed to
@@ -108,6 +110,7 @@
$nickname="";
$NOTEST=0;
$NORUNNINGTESTS=0;
+$MAKECMD="make";
while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
shift;
@@ -122,8 +125,8 @@
if (/^-norunningtests$/) { $NORUNNINGTESTS = 1; next; }
if (/^-parallel$/) { $MAKEOPTS = "$MAKEOPTS -j2 -l3.0"; next; }
if (/^-release$/) { $MAKEOPTS = "$MAKEOPTS ENABLE_OPTIMIZED=1 ".
- "OPTIMIZE_OPTION=-O2";
- $BUILDTYPE="release"; next; }
+ "OPTIMIZE_OPTION=-O2";
+ $BUILDTYPE="release"; next; }
if (/^-enable-llcbeta$/) { $PROGTESTOPTS .= " ENABLE_LLCBETA=1"; next; }
if (/^-disable-llc$/) { $PROGTESTOPTS .= " DISABLE_LLC=1";
$CONFIGUREARGS .= " --disable-llc_diffs"; next; }
@@ -162,6 +165,9 @@
if (/^-compileflags/) {
$MAKEOPTS = "$MAKEOPTS $ARGV[0]"; shift; next;
}
+ if (/^-use-gmake/) {
+ $MAKECMD = "ARGV[0]"; shift; next;
+ }
if (/^-extraflags/) {
$PROGTESTOPTS .= " EXTRA_FLAGS=\'$ARGV[0]\'"; shift; next;
}
@@ -202,19 +208,11 @@
if($nickname eq ""){
die ("Please invoke NewNightlyTest.pl with command line option \"-nickname \"");
}
-if($BUILDTYPE ne "releaese"){
- $BUILDTYPE = "debug";
-}
-#FIXME: this is a hack for SunOS, there must be a better way
-if(`uname` eq "SunOS"){
- $MAKECMD = "gmake";
-}
-else {
- $MAKECMD="make";
+if($BUILDTYPE ne "release"){
+ $BUILDTYPE = "debug";
}
-
##############################################################
#
#define the file names we'll use
From pjenkins at apple.com Wed Jul 26 20:23:05 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 20:23:05 -0500
Subject: [llvm-commits] CVS: nightlytest-serverside/NightlyTestAccept.cgi
Message-ID: <200607270123.k6R1N5Bm004399@zion.cs.uiuc.edu>
Changes in directory nightlytest-serverside:
NightlyTestAccept.cgi updated: 1.33 -> 1.34
---
Log message:
Some more formatting changes to the nightly test results email. This time we dont print test changes if build fail and instead link to the build log.
---
Diffs of the changes: (+17 -8)
NightlyTestAccept.cgi | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
Index: nightlytest-serverside/NightlyTestAccept.cgi
diff -u nightlytest-serverside/NightlyTestAccept.cgi:1.33 nightlytest-serverside/NightlyTestAccept.cgi:1.34
--- nightlytest-serverside/NightlyTestAccept.cgi:1.33 Wed Jul 26 19:42:06 2006
+++ nightlytest-serverside/NightlyTestAccept.cgi Wed Jul 26 20:22:51 2006
@@ -677,14 +677,23 @@
$email .= "Name: $name\n";
$email .= "Nickname: $nickname\n";
$email .= "Buildstatus: $buildstatus\n";
-$newly_passing_tests="None" unless $newly_passing_tests ne "";
-$email .= "\nNew Test Passes:\n$newly_passing_tests\n";
-$newly_failing_tests="None" unless $newly_failing_tests ne "";
-$email .= "\nNew Test Failures:\n$newly_failing_tests\n";
-$newtests="None" unless $new_tests ne "";
-$email .= "\nAdded Tests:\n$new_tests\n";
-$removed_tests="None" unless $removed_tests ne "";
-$email .= "\nRemoved Tests:\n$removed_tests\n";
+
+if($buildstatus eq "OK"){
+ $newly_passing_tests="None" unless $newly_passing_tests ne "";
+ $email .= "\nNew Test Passes:\n$newly_passing_tests\n";
+ $newly_failing_tests="None" unless $newly_failing_tests ne "";
+ $email .= "\nNew Test Failures:\n$newly_failing_tests\n";
+ $new_tests="None" unless $new_tests ne "";
+ $email .= "\nAdded Tests:\n$new_tests\n";
+ $removed_tests="None" unless $removed_tests ne "";
+ $email .= "\nRemoved Tests:\n$removed_tests\n";
+}
+else{
+ $temp_date = $db_date;
+ $temp_date =~s/ /\_/g;
+ $email .= "\nBuildlog available at http://llvm.org/nightlytest/".
+ "machines/$machine_id/$temp_date-Build-Log.txt";
+}
$email_addr = "llvm-testresults\@cs.uiuc.edu";
`echo "$email" | mail -s '$nickname $hardware nightly tester results' $email_addr`;
From pjenkins at apple.com Wed Jul 26 20:24:49 2006
From: pjenkins at apple.com (Patrick Jenkins)
Date: Wed, 26 Jul 2006 20:24:49 -0500
Subject: [llvm-commits] CVS: llvm/utils/NewNightlyTest.pl
Message-ID: <200607270124.k6R1OnTk004435@zion.cs.uiuc.edu>
Changes in directory llvm/utils:
NewNightlyTest.pl updated: 1.28 -> 1.29
---
Log message:
I made a stupid mistake when adding support for -use-gmake. ~PJ
---
Diffs of the changes: (+1 -1)
NewNightlyTest.pl | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: llvm/utils/NewNightlyTest.pl
diff -u llvm/utils/NewNightlyTest.pl:1.28 llvm/utils/NewNightlyTest.pl:1.29
--- llvm/utils/NewNightlyTest.pl:1.28 Wed Jul 26 20:17:17 2006
+++ llvm/utils/NewNightlyTest.pl Wed Jul 26 20:24:35 2006
@@ -166,7 +166,7 @@
$MAKEOPTS = "$MAKEOPTS $ARGV[0]"; shift; next;
}
if (/^-use-gmake/) {
- $MAKECMD = "ARGV[0]"; shift; next;
+ $MAKECMD = "gmake"; shift; next;
}
if (/^-extraflags/) {
$PROGTESTOPTS .= " EXTRA_FLAGS=\'$ARGV[0]\'"; shift; next;
From jlaskey at apple.com Wed Jul 26 21:05:27 2006
From: jlaskey at apple.com (Jim Laskey)
Date: Wed, 26 Jul 2006 21:05:27 -0500
Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
X86AsmPrinter.cpp X86AsmPrinter.h
Message-ID: <200607270205.k6R25RKU005162@zion.cs.uiuc.edu>
Changes in directory llvm/lib/Target/X86:
X86ATTAsmPrinter.cpp updated: 1.55 -> 1.56
X86AsmPrinter.cpp updated: 1.190 -> 1.191
X86AsmPrinter.h updated: 1.24 -> 1.25
---
Log message:
Use the predicate.
---
Diffs of the changes: (+15 -15)
X86ATTAsmPrinter.cpp | 18 +++++++++---------
X86AsmPrinter.cpp | 10 +++++-----
X86AsmPrinter.h | 2 +-
3 files changed, 15 insertions(+), 15 deletions(-)
Index: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.55 llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.56
--- llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.55 Wed Jul 26 20:13:04 2006
+++ llvm/lib/Target/X86/X86ATTAsmPrinter.cpp Wed Jul 26 21:05:13 2006
@@ -26,7 +26,7 @@
/// method to print assembly for each instruction.
///
bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Let PassManager know we need debug information and relay
// the MachineDebugInfo address on to DwarfWriter.
DW.SetDebugInfo(&getAnalysis());
@@ -56,7 +56,7 @@
break;
case Function::WeakLinkage:
case Function::LinkOnceLinkage:
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
SwitchToTextSection(
".section __TEXT,__textcoal_nt,coalesced,pure_instructions", F);
O << "\t.globl\t" << CurrentFnName << "\n";
@@ -78,7 +78,7 @@
}
O << CurrentFnName << ":\n";
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit pre-function debug information.
DW.BeginFunction(&MF);
}
@@ -101,7 +101,7 @@
if (HasDotTypeDotSizeDirective)
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit post-function debug information.
DW.EndFunction();
}
@@ -143,7 +143,7 @@
if (!isMemOp) O << '$';
O << PrivateGlobalPrefix << "JTI" << getFunctionNumber() << "_"
<< MO.getJumpTableIndex();
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
return;
@@ -153,7 +153,7 @@
if (!isMemOp) O << '$';
O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
<< MO.getConstantPoolIndex();
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
int Offset = MO.getOffset();
@@ -168,7 +168,7 @@
bool isMemOp = Modifier && !strcmp(Modifier, "mem");
if (!isMemOp && !isCallOp) O << '$';
// Darwin block shameless ripped from PPCAsmPrinter.cpp
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() != Reloc::Static) {
GlobalValue *GV = MO.getGlobal();
std::string Name = Mang->getValueName(GV);
@@ -201,7 +201,7 @@
case MachineOperand::MO_ExternalSymbol: {
bool isCallOp = Modifier && !strcmp(Modifier, "call");
if (isCallOp &&
- Subtarget->TargetType == X86Subtarget::isDarwin &&
+ Subtarget->isTargetDarwin() &&
TM.getRelocationModel() != Reloc::Static) {
std::string Name(GlobalPrefix);
Name += MO.getSymbolName();
@@ -344,7 +344,7 @@
void X86ATTAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
++EmittedInsts;
// This works around some Darwin assembler bugs.
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
switch (MI->getOpcode()) {
case X86::REP_MOVSB:
O << "rep/movsb (%esi),(%edi)\n";
Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.190 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.191
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.190 Wed Jul 26 20:13:04 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp Wed Jul 26 21:05:13 2006
@@ -87,7 +87,7 @@
default: break;
}
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit initial debug information.
DW.BeginModule(&M);
}
@@ -118,7 +118,7 @@
if (C->isNullValue() && /* FIXME: Verify correct */
(I->hasInternalLinkage() || I->hasWeakLinkage() ||
I->hasLinkOnceLinkage() ||
- (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ (Subtarget->isTargetDarwin() &&
I->hasExternalLinkage() && !I->hasSection()))) {
if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it.
if (I->hasExternalLinkage()) {
@@ -130,7 +130,7 @@
if (LCOMMDirective != NULL) {
if (I->hasInternalLinkage()) {
O << LCOMMDirective << name << "," << Size;
- if (Subtarget->TargetType == X86Subtarget::isDarwin)
+ if (Subtarget->isTargetDarwin())
O << "," << (AlignmentIsInBytes ? (1 << Align) : Align);
} else
O << COMMDirective << name << "," << Size;
@@ -149,7 +149,7 @@
switch (I->getLinkage()) {
case GlobalValue::LinkOnceLinkage:
case GlobalValue::WeakLinkage:
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
O << "\t.globl " << name << "\n"
<< "\t.weak_definition " << name << "\n";
SwitchToDataSection(".section __DATA,__const_coal,coalesced", I);
@@ -186,7 +186,7 @@
}
}
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
SwitchToDataSection("", 0);
// Output stubs for dynamically-linked functions
Index: llvm/lib/Target/X86/X86AsmPrinter.h
diff -u llvm/lib/Target/X86/X86AsmPrinter.h:1.24 llvm/lib/Target/X86/X86AsmPrinter.h:1.25
--- llvm/lib/Target/X86/X86AsmPrinter.h:1.24 Wed Jul 26 20:12:23 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.h Wed Jul 26 21:05:13 2006
@@ -64,7 +64,7 @@
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
AU.addRequired();
}
MachineFunctionPass::getAnalysisUsage(AU);
From lattner at cs.uiuc.edu Wed Jul 26 22:38:22 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 22:38:22 -0500
Subject: [llvm-commits] CVS: llvm/include/llvm/ADT/SmallVector.h
Message-ID: <200607270338.k6R3cM5C006643@zion.cs.uiuc.edu>
Changes in directory llvm/include/llvm/ADT:
SmallVector.h updated: 1.1 -> 1.2
---
Log message:
Use std::copy instead of custom loops to take advantage of STL optimizations.
Add a new append method for appending a range.
---
Diffs of the changes: (+19 -5)
SmallVector.h | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.1 llvm/include/llvm/ADT/SmallVector.h:1.2
--- llvm/include/llvm/ADT/SmallVector.h:1.1 Wed Jul 26 01:22:30 2006
+++ llvm/include/llvm/ADT/SmallVector.h Wed Jul 26 22:38:08 2006
@@ -14,7 +14,9 @@
#ifndef LLVM_ADT_SMALLVECTOR_H
#define LLVM_ADT_SMALLVECTOR_H
+#include
#include
+#include
#include
namespace llvm {
@@ -113,6 +115,20 @@
goto Retry;
}
+ /// append - Add the specified range to the end of the SmallVector.
+ ///
+ template
+ void append(in_iter in_start, in_iter in_end) {
+ unsigned NumInputs = std::distance(in_start, in_end);
+ // Grow allocated space if needed.
+ if (End+NumInputs > Capacity)
+ grow(size()+NumInputs);
+
+ // Copy the new elements over.
+ std::uninitialized_copy(in_start, in_end, End);
+ End += NumInputs;
+ }
+
const SmallVector &operator=(const SmallVector &RHS) {
// Avoid self-assignment.
if (this == &RHS) return *this;
@@ -123,8 +139,7 @@
unsigned CurSize = size();
if (CurSize >= RHSSize) {
// Assign common elements.
- for (unsigned i = 0; i != RHSSize; ++i)
- Begin[i] = RHS.Begin[i];
+ std::copy(RHS.Begin, RHS.Begin+RHSSize, Begin);
// Destroy excess elements.
for (unsigned i = RHSSize; i != CurSize; ++i)
@@ -144,10 +159,9 @@
End = Begin;
CurSize = 0;
grow(RHSSize);
- } else {
+ } else if (CurSize) {
// Otherwise, use assignment for the already-constructed elements.
- for (unsigned i = 0; i != CurSize; ++i)
- Begin[i] = RHS.Begin[i];
+ std::copy(RHS.Begin, RHS.Begin+CurSize, Begin);
}
// Copy construct the new elements in place.
From lattner at cs.uiuc.edu Wed Jul 26 23:24:28 2006
From: lattner at cs.uiuc.edu (Chris Lattner)
Date: Wed, 26 Jul 2006 23:24:28 -0500
Subject: [llvm-commits] CVS: llvm/docs/CodingStandards.html
Message-ID: <200607270424.k6R4OSCq007472@zion.cs.uiuc.edu>
Changes in directory llvm/docs:
CodingStandards.html updated: 1.27 -> 1.28
---
Log message:
Add some advice
---
Diffs of the changes: (+27 -9)
CodingStandards.html | 36 +++++++++++++++++++++++++++---------
1 files changed, 27 insertions(+), 9 deletions(-)
Index: llvm/docs/CodingStandards.html
diff -u llvm/docs/CodingStandards.html:1.27 llvm/docs/CodingStandards.html:1.28
--- llvm/docs/CodingStandards.html:1.27 Mon Mar 13 23:39:39 2006
+++ llvm/docs/CodingStandards.html Wed Jul 26 23:24:14 2006
@@ -44,10 +44,11 @@
The Low Level Issues
- - Assert Liberally
- - Do not use 'using namespace std'
- - Prefer Preincrement
- - Avoid std::endl
+ - Assert Liberally
+ - Do not use 'using namespace std'
+ - Provide a virtual method anchor for clases in headers
+ - Prefer Preincrement
+ - Avoid std::endl
See Also
@@ -489,7 +490,7 @@
@@ -537,7 +538,7 @@
@@ -572,7 +573,24 @@
+
+
+
+
If a class is defined in a header file and has a v-table (either it has
+virtual methods or it derives from classes with virtual methods), it must
+always have at least one out-of-line virtual method in the class. Without
+this, the compiler will copy the vtable and RTTI into every .o file that
+#includes the header, bloating .o file sizes and increasing link times.
+
+
+
+
+
+
+
@@ -592,7 +610,7 @@
@@ -654,7 +672,7 @@
Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2006/03/14 05:39:39 $
+ Last modified: $Date: 2006/07/27 04:24:14 $