[llvm-commits] CVS: nightlytest-serverside/EmailReport.php
Changes in directory nightlytest-serverside: EmailReport.php updated: 1.11 -> 1.12 --- Log message: Simplify query use #1 --- Diffs of the changes: (+70 -17) EmailReport.php | 87 +--- 1 files changed, 70 insertions(+), 17 deletions(-) Index: nightlytest-serverside/EmailReport.php diff -u nightlytest-serverside/EmailReport.php:1.11 nightlytest-serverside/EmailReport.php:1.12 --- nightlytest-serverside/EmailReport.php:1.11 Thu Sep 14 11:34:11 2006 +++ nightlytest-serverside/EmailReport.php Fri Sep 15 06:42:16 2006 @@ -1,26 +1,79 @@ - - -while ($row = mysql_fetch_assoc($my_query)) { - foreach ($row as $key => $value) { -print "$key => $value, "; - } - print "\n"; + + + +TD +{ + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; } + + + + +http://llvm.org/nightlytest/EmailReport.php"; METHOD="post" ID="MyForm"> + + + User: + + + Password: + + + Query: + + +Query + -mysql_free_result($my_query); +\n"; + $heading = false; + + while ($row = mysql_fetch_assoc($my_query)) { +if (!$heading) { + print " \n"; + foreach ($row as $key => $value) { +print "$key\n"; + } + print " \n"; + $heading = true; +} + +print " \n"; +foreach ($row as $key => $value) { + print "$value\n"; +} +print " \n"; + } + + print "\n"; + + mysql_free_result($my_query); + + mysql_close($mysql_link); +} ?> - - + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/EmailReport.php
Changes in directory nightlytest-serverside: EmailReport.php updated: 1.12 -> 1.13 --- Log message: Simplify query use #2 --- Diffs of the changes: (+3 -2) EmailReport.php |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index: nightlytest-serverside/EmailReport.php diff -u nightlytest-serverside/EmailReport.php:1.12 nightlytest-serverside/EmailReport.php:1.13 --- nightlytest-serverside/EmailReport.php:1.12 Fri Sep 15 06:42:16 2006 +++ nightlytest-serverside/EmailReport.php Fri Sep 15 06:47:51 2006 @@ -20,6 +20,8 @@ +http://llvm.org/nightlytest/EmailReport.php"; METHOD="post" ID="MyForm"> @@ -34,8 +36,7 @@ Query - -http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/EmailReport.php
Changes in directory nightlytest-serverside: EmailReport.php updated: 1.13 -> 1.14 --- Log message: Simplify query use #3 --- Diffs of the changes: (+1 -1) EmailReport.php |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: nightlytest-serverside/EmailReport.php diff -u nightlytest-serverside/EmailReport.php:1.13 nightlytest-serverside/EmailReport.php:1.14 --- nightlytest-serverside/EmailReport.php:1.13 Fri Sep 15 06:47:51 2006 +++ nightlytest-serverside/EmailReport.php Fri Sep 15 06:54:20 2006 @@ -51,7 +51,7 @@ while ($row = mysql_fetch_assoc($my_query)) { if (!$heading) { - print " \n"; + print " \n"; foreach ($row as $key => $value) { print "$key\n"; } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/EmailReport.php
Changes in directory nightlytest-serverside: EmailReport.php (r1.14) removed --- Log message: Not needed --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/SQLQuery.php
Changes in directory nightlytest-serverside: SQLQuery.php added (r1.1) --- Log message: make db management easier --- Diffs of the changes: (+80 -0) SQLQuery.php | 80 +++ 1 files changed, 80 insertions(+) Index: nightlytest-serverside/SQLQuery.php diff -c /dev/null nightlytest-serverside/SQLQuery.php:1.1 *** /dev/null Fri Sep 15 07:03:18 2006 --- nightlytest-serverside/SQLQuery.php Fri Sep 15 07:03:08 2006 *** *** 0 --- 1,80 + + + + + + TD + { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + } + + + + + http://llvm.org/nightlytest/EmailReport.php"; METHOD="post" ID="MyForm"> + + + User: + + + Password: + + + Query: + + + Query + + EOD; + + if ($was_query) { + $mysql_link = mysql_connect("127.0.0.1", $user, $password) or die("Error: could not connect to database!\n"); + mysql_select_db("nightlytestresults"); + + $query = $_POST["Query"]; + $query = preg_replace("/\n/", " ", $query); + $my_query = mysql_query($query) or die (mysql_error()); + + print "\n"; + $heading = false; + + while ($row = mysql_fetch_assoc($my_query)) { + if (!$heading) { + print " \n"; + foreach ($row as $key => $value) { + print "$key\n"; + } + print " \n"; + $heading = true; + } + + print " \n"; + foreach ($row as $key => $value) { + print "$value\n"; + } + print " \n"; + } + + print "\n"; + + mysql_free_result($my_query); + + mysql_close($mysql_link); + } + + ?> + + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/SQLQuery.php
Changes in directory nightlytest-serverside: SQLQuery.php updated: 1.1 -> 1.2 --- Log message: make db management easier take two --- Diffs of the changes: (+1 -1) SQLQuery.php |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: nightlytest-serverside/SQLQuery.php diff -u nightlytest-serverside/SQLQuery.php:1.1 nightlytest-serverside/SQLQuery.php:1.2 --- nightlytest-serverside/SQLQuery.php:1.1 Fri Sep 15 07:03:08 2006 +++ nightlytest-serverside/SQLQuery.php Fri Sep 15 07:11:59 2006 @@ -22,7 +22,7 @@ http://llvm.org/nightlytest/EmailReport.php"; METHOD="post" ID="MyForm"> +http://llvm.org/nightlytest/SQLQuery.php"; METHOD="post" ID="MyForm"> User: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/SQLQuery.php
Changes in directory nightlytest-serverside: SQLQuery.php updated: 1.2 -> 1.3 --- Log message: make db management easier take three --- Diffs of the changes: (+0 -1) SQLQuery.php |1 - 1 files changed, 1 deletion(-) Index: nightlytest-serverside/SQLQuery.php diff -u nightlytest-serverside/SQLQuery.php:1.2 nightlytest-serverside/SQLQuery.php:1.3 --- nightlytest-serverside/SQLQuery.php:1.2 Fri Sep 15 07:11:59 2006 +++ nightlytest-serverside/SQLQuery.php Fri Sep 15 07:16:26 2006 @@ -43,7 +43,6 @@ mysql_select_db("nightlytestresults"); $query = $_POST["Query"]; - $query = preg_replace("/\n/", " ", $query); $my_query = mysql_query($query) or die (mysql_error()); print "\n"; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/Inline/alloca_test.ll
Changes in directory llvm/test/Regression/Transforms/Inline: alloca_test.ll updated: 1.4 -> 1.5 --- Log message: The inliner strips dead allocas now. Add a use to allow this test to test the right thing. --- Diffs of the changes: (+1 -0) alloca_test.ll |1 + 1 files changed, 1 insertion(+) Index: llvm/test/Regression/Transforms/Inline/alloca_test.ll diff -u llvm/test/Regression/Transforms/Inline/alloca_test.ll:1.4 llvm/test/Regression/Transforms/Inline/alloca_test.ll:1.5 --- llvm/test/Regression/Transforms/Inline/alloca_test.ll:1.4 Mon Aug 2 17:31:58 2004 +++ llvm/test/Regression/Transforms/Inline/alloca_test.ll Fri Sep 15 11:53:11 2006 @@ -5,6 +5,7 @@ int %func(int %i) { %X = alloca int + store int %i, int* %X ret int %i } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/NewNightlyTest.pl
Changes in directory llvm/utils: NewNightlyTest.pl updated: 1.58 -> 1.59 --- Log message: Switching to NewNightlyTest.php --- Diffs of the changes: (+8 -4) NewNightlyTest.pl | 12 1 files changed, 8 insertions(+), 4 deletions(-) Index: llvm/utils/NewNightlyTest.pl diff -u llvm/utils/NewNightlyTest.pl:1.58 llvm/utils/NewNightlyTest.pl:1.59 --- llvm/utils/NewNightlyTest.pl:1.58 Tue Aug 29 13:01:18 2006 +++ llvm/utils/NewNightlyTest.plFri Sep 15 12:03:36 2006 @@ -67,7 +67,7 @@ # webserver # -submit-script Specifies which script to call on the submit server. If # this option is not specified it defaults to -# /nightlytest/NightlyTestAccept.cgi. This is basically +# /nightlytest/NightlyTestAccept.php. This is basically # everything after the www.yourserver.org. # # CVSROOT is the CVS repository from which the tree will be checked out, @@ -117,7 +117,7 @@ $NORUNNINGTESTS=0; $MAKECMD="make"; $SUBMITSERVER = "llvm.org"; -$SUBMITSCRIPT = "/nightlytest/NightlyTestAccept.cgi"; +$SUBMITSCRIPT = "/nightlytest/NightlyTestAccept.php"; while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { shift; @@ -470,11 +470,15 @@ print "Build directory exists! Removing it\n"; } system "rm -rf $BuildDir"; + mkdir $BuildDir or die "Could not create CVS checkout directory $BuildDir!"; } else { - die "CVS checkout directory $BuildDir already exists!"; + if ( $VERBOSE ) { +print "Build directory exists!\n"; + } } + } else { +mkdir $BuildDir or die "Could not create CVS checkout directory $BuildDir!"; } - mkdir $BuildDir or die "Could not create CVS checkout directory $BuildDir!"; } ChangeDir( $BuildDir, "CVS checkout directory" ); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-test/Makefile.programs
Changes in directory llvm-test: Makefile.programs updated: 1.225 -> 1.226 --- Log message: fix bugpoint-gccld target --- Diffs of the changes: (+2 -2) Makefile.programs |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm-test/Makefile.programs diff -u llvm-test/Makefile.programs:1.225 llvm-test/Makefile.programs:1.226 --- llvm-test/Makefile.programs:1.225 Thu Sep 14 01:18:53 2006 +++ llvm-test/Makefile.programs Fri Sep 15 12:11:45 2006 @@ -266,11 +266,11 @@ # Targets to get the pass arguments that gccas and gccld are using... Output/gccas-pass-args: $(LGCCAS) Output/.dir -$(LGCCAS) /dev/null -o /dev/null -debug-pass=Arguments > [EMAIL PROTECTED] 2>&1 - sed 's/Pass Arguments: //' < [EMAIL PROTECTED] | sed 's/-emitbytecode//'> $@ + sed 's/Pass Arguments: //' < [EMAIL PROTECTED] | sed 's/-emitbytecode//' > $@ Output/gccld-pass-args: $(LGCCLDPROG) Output/.dir $(LLVMAS) < /dev/null > Output/gccld.test.bc $(LGCCLD) Output/gccld.test.bc -o Output/gccld.test-out -debug-pass=Arguments > [EMAIL PROTECTED] 2>&1 - sed 's/Pass Arguments: //' < [EMAIL PROTECTED] | sed 's/-emitbytecode//' | > $@ + sed 's/Pass Arguments: //' < [EMAIL PROTECTED] | sed 's/-emitbytecode//' > $@ # If the program requires exception handling support, enable (potentially # expensive) support for it. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: nightlytest-serverside/ProgramResults.php
Changes in directory nightlytest-serverside: ProgramResults.php updated: 1.59 -> 1.60 --- Log message: Some query speed ups. --- Diffs of the changes: (+18 -17) ProgramResults.php | 35 ++- 1 files changed, 18 insertions(+), 17 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.59 nightlytest-serverside/ProgramResults.php:1.60 --- nightlytest-serverside/ProgramResults.php:1.59 Thu Sep 14 11:40:55 2006 +++ nightlytest-serverside/ProgramResults.php Fri Sep 15 12:23:40 2006 @@ -132,8 +132,8 @@ */ function GetDayResults($night_id, $array_of_measures ){ $result=array(); - #print "SELECT * FROM program WHERE night=$night_id ORDER BY program ASC\n"; - $program_query = mysql_query("SELECT * FROM program WHERE night=$night_id ORDER BY program ASC") or die (mysql_error()); + $query = "SELECT program, type, result FROM program WHERE night=$night_id ORDER BY program ASC"; + $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_assoc($program_query)){ $program = rtrim($row['program'], ": "); $result[$program] = array(); @@ -338,9 +338,9 @@ function buildResultsHistory($machine_id, $programs, $measure , $start="2000-01-01 01:01:01", $end="2020-01-01 01:01:01"){ $preg_measure = str_replace("/","\/", $measure); $results_arr=array(); - $night_table_statement = "SELECT id, added FROM night WHERE machine=$machine_id ". - "AND added >= \"$start\" AND added <= \"$end\" ORDER BY added DESC"; - $night_table_query = mysql_query($night_table_statement ) or die(mysql_error()); + $query = "SELECT id, added FROM night WHERE machine=$machine_id ". + "AND added >= \"$start\" AND added <= \"$end\" ORDER BY added DESC"; + $night_table_query = mysql_query($query ) or die(mysql_error()); $night_arr=array(); $night_query="("; while($row = mysql_fetch_assoc($night_table_query)){ @@ -358,9 +358,9 @@ $prog_index=1; foreach ($programs as $prog){ $prog=str_replace(" ", "+", $prog); -$program_table_statement="SELECT * FROM program WHERE program=\"$prog\" ". -"and $night_query order by night asc"; -$night_table_query=mysql_query($program_table_statement) or die(mysql_error()); +$query="SELECT night, result FROM program WHERE program=\"$prog\" ". + "AND $night_query ORDER BY night ASC"; +$night_table_query=mysql_query($query) or die(mysql_error()); while($row=mysql_fetch_assoc($night_table_query)){ $row['result'] = str_replace("", " ", "{$row['result']}"); $night_id=$row['night']; @@ -433,7 +433,7 @@ function getFailures($night_id) { $result=""; if ($night_id >= 684) { -$query = "SELECT * FROM tests WHERE night=$night_id AND result=\"FAIL\" ORDER BY program ASC"; +$query = "SELECT program FROM tests WHERE night=$night_id AND result=\"FAIL\" ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_assoc($program_query)) { $program = rtrim($row['program'], ": "); @@ -441,7 +441,7 @@ } mysql_free_result($program_query); -$query = "SELECT * FROM program WHERE night=$night_id ORDER BY program ASC"; +$query = "SELECT program, result FROM program WHERE night=$night_id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_assoc($program_query)) { $test_result = $row['result']; @@ -472,7 +472,7 @@ mysql_free_result($program_query); } else{ -$query = "SELECT * FROM tests WHERE night=$night_id AND result=\"FAIL\""; +$query = "SELECT program FROM tests WHERE night=$night_id AND result=\"FAIL\""; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_assoc($program_query)){ $program = rtrim($row['program'], ": "); @@ -501,7 +501,7 @@ */ function getTestSet($id, $table){ $test_hash = array(); - $query = "SELECT * FROM $table WHERE night=$id"; + $query = "SELECT program, result FROM $table WHERE night=$id"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_assoc($program_query)) { $program = rtrim($row['program'], ": "); @@ -519,7 +519,7 @@ */ function getExcludedTests($id, $table, $test_hash){ $result = ""; - $query = "SELECT * FROM $table WHERE night=$id ORDER BY program ASC"; + $query = "SELECT program FROM $table WHERE night=$id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_assoc($program_query)) { $program = rtrim($row['program'], ": "); @@ -605,12 +605,13 @@ */ function getTestFailSet($id, $table){ $test_hash = array(); - $query = "SELECT * FROM $table WHERE night=$id"; + $query = "SELECT program, result FROM $table WHERE night=$id"; $program_query = mysql_query($query) or die (mysql_error()); while
[llvm-commits] CVS: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Changes in directory llvm/lib/Transforms/IPO: ArgumentPromotion.cpp updated: 1.24 -> 1.25 --- Log message: revert previous two patches. They cause miscompilation of MultiSource/Applications/Burg --- Diffs of the changes: (+1 -35) ArgumentPromotion.cpp | 36 +--- 1 files changed, 1 insertion(+), 35 deletions(-) Index: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp diff -u llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.24 llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.25 --- llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.24 Fri Sep 15 00:22:51 2006 +++ llvm/lib/Transforms/IPO/ArgumentPromotion.cpp Fri Sep 15 12:24:45 2006 @@ -179,40 +179,6 @@ return true; } -/// AccessOccursOnPath - Returns true if and only if a load or GEP instruction -/// on Pointer occurs in Path, or in every control-flow path that succeeds it. -bool AccessOccursOnPath(Argument* Arg) { - std::vector Worklist; - Worklist.push_back(Arg->getParent()->begin()); - - std::set Visited; - - while (!Worklist.empty()) { -BasicBlock* BB = Worklist.back(); -Worklist.pop_back(); -Visited.insert(BB); - -bool ContainsAccess = false; -for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; ++I) - if (isa(I) || isa(I)) { -ContainsAccess = true; -break; - } - -if (ContainsAccess) continue; - -TerminatorInst* TI = BB->getTerminator(); -if (isa(TI) || isa(TI)) { - for (unsigned i = 0; i < TI->getNumSuccessors(); ++i) -if (!Visited.count(TI->getSuccessor(i))) - Worklist.push_back(TI->getSuccessor(i)); -} else { - return false; -} - } - - return true; -} /// isSafeToPromoteArgument - As you might guess from the name of this method, /// it checks to see if it is both safe and useful to promote the argument. @@ -286,7 +252,7 @@ // of the pointer in the entry block of the function) or if we can prove that // all pointers passed in are always to legal locations (for example, no null // pointers are passed in, no pointers to free'd memory, etc). - if (!AccessOccursOnPath(Arg) && !AllCalleesPassInValidPointerForArgument(Arg)) + if (!HasLoadInEntryBlock && !AllCalleesPassInValidPointerForArgument(Arg)) return false; // Cannot prove that this is safe!! // Okay, now we know that the argument is only used by load instructions and ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll
Changes in directory llvm/test/Regression/Transforms/ArgumentPromotion: recursion.ll updated: 1.2 -> 1.3 --- Log message: xfail this for now --- Diffs of the changes: (+2 -2) recursion.ll |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll diff -u llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll:1.2 llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll:1.3 --- llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll:1.2 Sat Sep 2 17:46:58 2006 +++ llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll Fri Sep 15 12:25:22 2006 @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | opt -argpromotion | llvm-dis | grep x.val -; ModuleID = 'recursive2.bc' +; XFAIL: * implementation ; Functions: @@ -14,4 +14,4 @@ entry: %tmp3 = call int %foo( int* %x); [#uses=1] ret int %tmp3 -} \ No newline at end of file +} ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/README.txt
Changes in directory llvm/lib/Target: README.txt updated: 1.36 -> 1.37 --- Log message: add a nate note --- Diffs of the changes: (+6 -0) README.txt |6 ++ 1 files changed, 6 insertions(+) Index: llvm/lib/Target/README.txt diff -u llvm/lib/Target/README.txt:1.36 llvm/lib/Target/README.txt:1.37 --- llvm/lib/Target/README.txt:1.36 Thu Aug 24 18:06:02 2006 +++ llvm/lib/Target/README.txt Fri Sep 15 15:31:36 2006 @@ -240,4 +240,10 @@ subfe r3,r3,r3 blr +//===-===// + +Legalize should lower ctlz like this: + ctlz(x) = popcnt((x-1) & ~x) + +on targets that have popcnt but not ctlz. itanium, what else? ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/bugpoint/BugDriver.h ExecutionDriver.cpp ToolRunner.cpp ToolRunner.h
Changes in directory llvm/tools/bugpoint: BugDriver.h updated: 1.45 -> 1.46 ExecutionDriver.cpp updated: 1.64 -> 1.65 ToolRunner.cpp updated: 1.57 -> 1.58 ToolRunner.h updated: 1.22 -> 1.23 --- Log message: Add a new -cbe-bug mode, which works just like -run-llc, except that it uses LLC as the reference compiler to reduce testcases for bugs in GCC. --- Diffs of the changes: (+61 -41) BugDriver.h |3 +-- ExecutionDriver.cpp | 47 --- ToolRunner.cpp | 24 ++-- ToolRunner.h| 28 ++-- 4 files changed, 61 insertions(+), 41 deletions(-) Index: llvm/tools/bugpoint/BugDriver.h diff -u llvm/tools/bugpoint/BugDriver.h:1.45 llvm/tools/bugpoint/BugDriver.h:1.46 --- llvm/tools/bugpoint/BugDriver.h:1.45Thu Aug 17 13:51:28 2006 +++ llvm/tools/bugpoint/BugDriver.h Fri Sep 15 16:29:15 2006 @@ -30,7 +30,6 @@ class DebugCrashes; -class CBE; class GCC; extern bool DisableSimplifyCFG; @@ -45,7 +44,7 @@ Module *Program; // The raw program, linked together std::vector PassesToRun; AbstractInterpreter *Interpreter; // How to run the program - CBE *cbe; + AbstractInterpreter *cbe; GCC *gcc; bool run_as_child; bool run_find_bugs; Index: llvm/tools/bugpoint/ExecutionDriver.cpp diff -u llvm/tools/bugpoint/ExecutionDriver.cpp:1.64 llvm/tools/bugpoint/ExecutionDriver.cpp:1.65 --- llvm/tools/bugpoint/ExecutionDriver.cpp:1.64Wed Aug 23 15:34:57 2006 +++ llvm/tools/bugpoint/ExecutionDriver.cpp Fri Sep 15 16:29:15 2006 @@ -28,7 +28,7 @@ // for miscompilation. // enum OutputType { -AutoPick, RunLLI, RunJIT, RunLLC, RunCBE +AutoPick, RunLLI, RunJIT, RunLLC, RunCBE, CBE_bug }; cl::opt @@ -46,6 +46,7 @@ clEnumValN(RunJIT, "run-jit", "Execute with JIT"), clEnumValN(RunLLC, "run-llc", "Compile with LLC"), clEnumValN(RunCBE, "run-cbe", "Compile with CBE"), +clEnumValN(CBE_bug,"cbe-bug", "Find CBE bugs"), clEnumValEnd), cl::init(AutoPick)); @@ -133,8 +134,9 @@ &ToolArgv); break; case RunCBE: -Interpreter = cbe = AbstractInterpreter::createCBE(getToolName(), Message, - &ToolArgv); + case CBE_bug: +Interpreter = AbstractInterpreter::createCBE(getToolName(), Message, + &ToolArgv); break; default: Message = "Sorry, this back-end is not supported by bugpoint right now!\n"; @@ -143,10 +145,19 @@ std::cerr << Message; // Initialize auxiliary tools for debugging - if (!cbe) { + if (InterpreterSel == RunCBE) { +// We already created a CBE, reuse it. +cbe = Interpreter; + } else if (InterpreterSel == CBE_bug) { +// We want to debug the CBE itself. Use LLC as the 'known-good' compiler. +std::vector ToolArgs; +ToolArgs.push_back("--relocation-model=pic"); +cbe = AbstractInterpreter::createLLC(getToolName(), Message, &ToolArgs); + } else { cbe = AbstractInterpreter::createCBE(getToolName(), Message, &ToolArgv); -if (!cbe) { std::cout << Message << "\nExiting.\n"; exit(1); } } + if (!cbe) { std::cout << Message << "\nExiting.\n"; exit(1); } + gcc = GCC::create(getToolName(), Message); if (!gcc) { std::cout << Message << "\nExiting.\n"; exit(1); } @@ -237,7 +248,8 @@ // compile the program. If so, we should pass the user's -Xlinker options // as the GCCArgs. int RetVal = 0; - if (InterpreterSel == RunLLC || InterpreterSel == RunCBE) + if (InterpreterSel == RunLLC || InterpreterSel == RunCBE || + InterpreterSel == CBE_bug) RetVal = AI->ExecuteProgram(BytecodeFile, InputArgv, InputFile, OutputFile, AdditionalLinkerArgs, SharedObjs, Timeout); @@ -271,8 +283,7 @@ /// std::string BugDriver::executeProgramWithCBE(std::string OutputFile) { bool ProgramExitedNonzero; - std::string outFN = executeProgram(OutputFile, "", "", - (AbstractInterpreter*)cbe, + std::string outFN = executeProgram(OutputFile, "", "", cbe, &ProgramExitedNonzero); if (ProgramExitedNonzero) { std::cerr @@ -285,28 +296,18 @@ std::string BugDriver::compileSharedObject(const std::string &BytecodeFile) { assert(Interpreter && "Interpreter should have been created already!"); - sys::Path OutputCFile; + sys::Path OutputFile; // Using CBE - cbe->OutputC(BytecodeFile, OutputCFile); - -#if 0 /* This is an alternative, as yet unimplemented */ - // Using LLC - std::string Message; - LLC *llc = createLLCtool(Message); - if (llc->OutputAsm(BytecodeFile, OutputFile)) { -std::cerr << "Could not gene
[llvm-commits] CVS: llvm/tools/bugpoint/ToolRunner.cpp
Changes in directory llvm/tools/bugpoint: ToolRunner.cpp updated: 1.58 -> 1.59 --- Log message: comment out debug code --- Diffs of the changes: (+6 -6) ToolRunner.cpp | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) Index: llvm/tools/bugpoint/ToolRunner.cpp diff -u llvm/tools/bugpoint/ToolRunner.cpp:1.58 llvm/tools/bugpoint/ToolRunner.cpp:1.59 --- llvm/tools/bugpoint/ToolRunner.cpp:1.58 Fri Sep 15 16:29:15 2006 +++ llvm/tools/bugpoint/ToolRunner.cpp Fri Sep 15 18:01:10 2006 @@ -38,12 +38,12 @@ redirects[1] = &StdOutFile; redirects[2] = &StdErrFile; -{ - std::cerr << "RUN:"; - for (unsigned i = 0; Args[i]; ++i) -std::cerr << " " << Args[i]; - std::cerr << "\n"; -} + if (0) { +std::cerr << "RUN:"; +for (unsigned i = 0; Args[i]; ++i) + std::cerr << " " << Args[i]; +std::cerr << "\n"; + } return sys::Program::ExecuteAndWait(ProgramPath, Args, 0, redirects, NumSeconds); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.393 -> 1.394 --- Log message: Allow custom expand of mul --- Diffs of the changes: (+9 -0) LegalizeDAG.cpp |9 + 1 files changed, 9 insertions(+) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.393 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.394 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.393 Tue Sep 12 22:50:39 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Fri Sep 15 19:09:24 2006 @@ -4693,6 +4693,15 @@ break; } case ISD::MUL: { +// If the target wants to custom expand this, let them. +if (TLI.getOperationAction(ISD::MUL, VT) == TargetLowering::Custom) { + Op = TLI.LowerOperation(Op, DAG); + if (Op.Val) { +ExpandOp(Op, Lo, Hi); +break; + } +} + bool HasMULHS = TLI.isOperationLegal(ISD::MULHS, NVT); bool HasMULHU = TLI.isOperationLegal(ISD::MULHU, NVT); bool UseLibCall = true; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.394 -> 1.395 --- Log message: simplify control flow, no functionality change --- Diffs of the changes: (+12 -6) LegalizeDAG.cpp | 18 -- 1 files changed, 12 insertions(+), 6 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.394 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.395 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.394 Fri Sep 15 19:09:24 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Fri Sep 15 19:21:44 2006 @@ -4723,22 +4723,28 @@ LH.getOpcode() == ISD::SRA && LH.getOperand(0) == LL && LH.getOperand(1).getOpcode() == ISD::Constant && cast(LH.getOperand(1))->getValue() == SH) { +// FIXME: Move this to the dag combiner. + +// Low part: +Lo = DAG.getNode(ISD::MUL, NVT, LL, RL); +// High part: Hi = DAG.getNode(ISD::MULHS, NVT, LL, RL); -UseLibCall = false; +break; } else if (HasMULHU) { +// Low part: +Lo = DAG.getNode(ISD::MUL, NVT, LL, RL); + +// High part: Hi = DAG.getNode(ISD::MULHU, NVT, LL, RL); RH = DAG.getNode(ISD::MUL, NVT, LL, RH); LH = DAG.getNode(ISD::MUL, NVT, LH, RL); Hi = DAG.getNode(ISD::ADD, NVT, Hi, RH); Hi = DAG.getNode(ISD::ADD, NVT, Hi, LH); -UseLibCall = false; +break; } - if (!UseLibCall) -Lo = DAG.getNode(ISD::MUL, NVT, LL, RL); } -if (UseLibCall) - Lo = ExpandLibCall("__muldi3" , Node, Hi); +Lo = ExpandLibCall("__muldi3" , Node, Hi); break; } case ISD::SDIV: Lo = ExpandLibCall("__divdi3" , Node, Hi); break; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: 2006-09-15-CastToBool.ll added (r1.1) --- Log message: Testcase for PR913: http://llvm.org/PR913 --- Diffs of the changes: (+14 -0) 2006-09-15-CastToBool.ll | 14 ++ 1 files changed, 14 insertions(+) Index: llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll diff -c /dev/null llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll:1.1 *** /dev/null Fri Sep 15 22:13:32 2006 --- llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll Fri Sep 15 22:13:22 2006 *** *** 0 --- 1,14 + ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and + ; PR913 + + int %test(int* %tmp1) { + %tmp = load int* %tmp1 ; [#uses=1] + %tmp = cast int %tmp to uint; [#uses=1] + %tmp2 = shr uint %tmp, ubyte 5 ; [#uses=1] + %tmp2 = cast uint %tmp2 to int ; [#uses=1] + %tmp3 = and int %tmp2, 1; [#uses=1] + %tmp3 = cast int %tmp3 to bool ; [#uses=1] + %tmp34 = cast bool %tmp3 to int ; [#uses=1] + ret int %tmp34 + } + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.504 -> 1.505 --- Log message: Fix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913: http://llvm.org/PR913 --- Diffs of the changes: (+5 -0) InstructionCombining.cpp |5 + 1 files changed, 5 insertions(+) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.504 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.505 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.504 Mon Sep 11 16:43:16 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Fri Sep 15 22:14:10 2006 @@ -1011,6 +1011,11 @@ // If this is an integer truncate or noop, just look in the input. if (SrcTy->getPrimitiveSizeInBits() >= I->getType()->getPrimitiveSizeInBits()) { + // Cast to bool is a comparison against 0, which demands all bits. We + // can't propagate anything useful up. + if (I->getType() == Type::BoolTy) +break; + if (SimplifyDemandedBits(I->getOperand(0), DemandedMask, KnownZero, KnownOne, Depth+1)) return true; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/README.txt
Changes in directory llvm/lib/Target/X86: README.txt updated: 1.133 -> 1.134 --- Log message: add a note --- Diffs of the changes: (+3 -0) README.txt |3 +++ 1 files changed, 3 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.133 llvm/lib/Target/X86/README.txt:1.134 --- llvm/lib/Target/X86/README.txt:1.133Wed Sep 13 18:37:16 2006 +++ llvm/lib/Target/X86/README.txt Fri Sep 15 22:30:19 2006 @@ -18,6 +18,9 @@ ... which should only be one imul instruction. +This can be done with a custom expander, but it would be nice to move this to +generic code. + //===-===// This should be one DIV/IDIV instruction, not a libcall: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.395 -> 1.396 --- Log message: Oh yeah, this is needed too --- Diffs of the changes: (+3 -3) LegalizeDAG.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.395 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.396 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.395 Fri Sep 15 19:21:44 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sat Sep 16 00:08:34 2006 @@ -4695,9 +4695,9 @@ case ISD::MUL: { // If the target wants to custom expand this, let them. if (TLI.getOperationAction(ISD::MUL, VT) == TargetLowering::Custom) { - Op = TLI.LowerOperation(Op, DAG); - if (Op.Val) { -ExpandOp(Op, Lo, Hi); + SDOperand New = TLI.LowerOperation(Op, DAG); + if (New.Val) { +ExpandOp(New, Lo, Hi); break; } } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits