[llvm-commits] CVS: llvm/lib/Target/ARM/ARMAsmPrinter.cpp
Changes in directory llvm/lib/Target/ARM: ARMAsmPrinter.cpp updated: 1.17 -> 1.18 --- Log message: call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization --- Diffs of the changes: (+1 -0) ARMAsmPrinter.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.17 llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.18 --- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.17 Sun Sep 10 16:17:03 2006 +++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp Mon Sep 11 07:49:38 2006 @@ -201,6 +201,7 @@ } bool ARMAsmPrinter::doInitialization(Module &M) { + AsmPrinter::doInitialization(M); return false; // success } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/ARM/select.ll
Changes in directory llvm/test/Regression/CodeGen/ARM: select.ll updated: 1.6 -> 1.7 --- Log message: implement unconditional branches fix select.ll --- Diffs of the changes: (+0 -1) select.ll |1 - 1 files changed, 1 deletion(-) Index: llvm/test/Regression/CodeGen/ARM/select.ll diff -u llvm/test/Regression/CodeGen/ARM/select.ll:1.6 llvm/test/Regression/CodeGen/ARM/select.ll:1.7 --- llvm/test/Regression/CodeGen/ARM/select.ll:1.6 Thu Sep 7 12:43:59 2006 +++ llvm/test/Regression/CodeGen/ARM/select.ll Fri Sep 8 07:47:03 2006 @@ -1,5 +1,4 @@ ; RUN: llvm-as < %s | llc -march=arm -; XFAIL: * int %f(int %a) { entry: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/www-index.html
Changes in directory llvm-www: www-index.html updated: 1.129 -> 1.130 --- Log message: First crack at adding an attribution notice to the LLVM web page. --- Diffs of the changes: (+3 -0) www-index.html |3 +++ 1 files changed, 3 insertions(+) Index: llvm-www/www-index.html diff -u llvm-www/www-index.html:1.129 llvm-www/www-index.html:1.130 --- llvm-www/www-index.html:1.129 Wed Aug 9 01:06:12 2006 +++ llvm-www/www-index.html Mon Sep 11 09:46:40 2006 @@ -154,4 +154,7 @@ + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/attrib.incl
Changes in directory llvm-www: attrib.incl added (r1.1) --- Log message: Include file that contains HTML for the UIUC CS department attribution that we're required to put on the web site. --- Diffs of the changes: (+4 -0) attrib.incl |4 1 files changed, 4 insertions(+) Index: llvm-www/attrib.incl diff -c /dev/null llvm-www/attrib.incl:1.1 *** /dev/null Mon Sep 11 09:46:11 2006 --- llvm-www/attrib.inclMon Sep 11 09:46:01 2006 *** *** 0 --- 1,4 + This Web site is supported by the + http://www.cs.uiuc.edu";>Computer Science Department + at the + http://www.uiuc.edu";>University of Illinois at Urbana-Champaign. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/releases/index.html
Changes in directory llvm-www/releases: index.html updated: 1.29 -> 1.30 --- Log message: Added UIUC CS attribution. --- Diffs of the changes: (+3 -0) index.html |3 +++ 1 files changed, 3 insertions(+) Index: llvm-www/releases/index.html diff -u llvm-www/releases/index.html:1.29 llvm-www/releases/index.html:1.30 --- llvm-www/releases/index.html:1.29 Wed Aug 9 01:03:33 2006 +++ llvm-www/releases/index.htmlMon Sep 11 09:48:16 2006 @@ -91,5 +91,8 @@ + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/releases/index.html
Changes in directory llvm-www/releases: index.html updated: 1.30 -> 1.31 --- Log message: Fix the include of the attribution. --- Diffs of the changes: (+1 -1) index.html |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm-www/releases/index.html diff -u llvm-www/releases/index.html:1.30 llvm-www/releases/index.html:1.31 --- llvm-www/releases/index.html:1.30 Mon Sep 11 09:48:16 2006 +++ llvm-www/releases/index.htmlMon Sep 11 09:48:58 2006 @@ -92,7 +92,7 @@ - + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/doxygen.footer
Changes in directory llvm/docs: doxygen.footer updated: 1.5 -> 1.6 --- Log message: Include the UIUC CS department attribution on the main doxygen page. --- Diffs of the changes: (+4 -0) doxygen.footer |4 1 files changed, 4 insertions(+) Index: llvm/docs/doxygen.footer diff -u llvm/docs/doxygen.footer:1.5 llvm/docs/doxygen.footer:1.6 --- llvm/docs/doxygen.footer:1.5Mon May 15 16:36:13 2006 +++ llvm/docs/doxygen.footerMon Sep 11 09:52:26 2006 @@ -5,5 +5,9 @@ align="middle" border="0"/>$doxygenversion Copyright © 2003,2004,2005,2006 University of Illinois at Urbana-Champaign. All Rights Reserved. + + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/attrib.incl
Changes in directory llvm-www: attrib.incl updated: 1.1 -> 1.2 --- Log message: Web -> web. Clarify that "support" means web hosting. --- Diffs of the changes: (+1 -1) attrib.incl |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm-www/attrib.incl diff -u llvm-www/attrib.incl:1.1 llvm-www/attrib.incl:1.2 --- llvm-www/attrib.incl:1.1Mon Sep 11 09:46:01 2006 +++ llvm-www/attrib.inclMon Sep 11 11:26:01 2006 @@ -1,4 +1,4 @@ -This Web site is supported by the +This web site is hosted by the http://www.cs.uiuc.edu";>Computer Science Department at the http://www.uiuc.edu";>University of Illinois at Urbana-Champaign. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/NightlyTest.pl
Changes in directory llvm/utils: NightlyTest.pl (r1.113) removed --- Log message: No longer used, and confuses maintainers --- 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/ProgramResults.php
Changes in directory nightlytest-serverside: ProgramResults.php updated: 1.46 -> 1.47 --- Log message: Strip extraneous colon --- Diffs of the changes: (+23 -17) ProgramResults.php | 40 +++- 1 files changed, 23 insertions(+), 17 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.46 nightlytest-serverside/ProgramResults.php:1.47 --- nightlytest-serverside/ProgramResults.php:1.46 Fri Sep 8 19:24:04 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 11:48:25 2006 @@ -136,21 +136,22 @@ #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()); while($row = mysql_fetch_array($program_query)){ -$result["{$row['program']}"]=array(); -array_push($result["{$row['program']}"], "{$row['type']}"); +$program = rtrim($row['program'], ":"); +$result[$program] = array(); +array_push($result[$program], "{$row['type']}"); $index=0; $data = $row['result']; $data = str_replace("", " ", $data); foreach ($array_of_measures as $x){ $value=array(); $reg_exp="/$x:\s*([[0-9\.]+|\*|\-|n\/a|\?],)/"; - #print "{$row['program']} => running preg_match($reg_exp, $data, $value)\n"; + #print "{$program} => running preg_match($reg_exp, $data, $value)\n"; preg_match($reg_exp, $data, $value); if(isset($value[1])){ -array_push($result["{$row['program']}"], $value[1]); +array_push($result[$program], $value[1]); } else{ -array_push($result["{$row['program']}"], "-"); +array_push($result[$program], "-"); } $index++; }//end foreach @@ -424,7 +425,8 @@ $query = "SELECT * 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_array($program_query)) { - $result .= $row['program'] . "\n"; + $program = rtrim($row['program'], ":"); + $result .= $program . "\n"; } mysql_free_result($program_query); @@ -433,8 +435,9 @@ while($row = mysql_fetch_array($program_query)) { $test_result = $row['result']; if (!isTestPass($test_result)) { +$program = rtrim($row['program'], ":"); $reasons = getFailReasons($test_result); -$result .= "{$row['program']}{$reasons}\n"; +$result .= $program . $reasons . "\n"; } } mysql_free_result($program_query); @@ -461,7 +464,8 @@ $query = "SELECT * FROM tests WHERE night=$night_id AND result=\"FAIL\""; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)){ - $result .= $row['program'] . "\n"; + $program = rtrim($row['program'], ":"); + $result .= $program . "\n"; } mysql_free_result($program_query); } @@ -489,7 +493,8 @@ $query = "SELECT * FROM $table WHERE night=$id"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$test_hash[$row['program']] = $row['result']; +$program = rtrim($row['program'], ":"); +$test_hash[$program] = $row['result']; } mysql_free_result($program_query); return $test_hash; @@ -506,9 +511,9 @@ $query = "SELECT * FROM $table WHERE night=$id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$test_key = $row['program']; -if (!isset($test_hash[$test_key])) { - $result .= $test_key . "\n"; +$program = rtrim($row['program'], ":"); +if (!isset($test_hash[$program])) { + $result .= $program . "\n"; } } mysql_free_result($program_query); @@ -595,7 +600,8 @@ $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { if (!isTestPass($row['result'])) { - $test_hash[$row['program']] = $row['result']; + $program = rtrim($row['program'], ":"); + $test_hash[$program] = $row['result']; } } mysql_free_result($program_query); @@ -613,10 +619,10 @@ $query = "SELECT * FROM $table WHERE night=$id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$test_key = $row['program']; -if (isset($test_hash[$test_key]) && isTestPass($row['result'])) { - $reasons = getFailReasons($test_hash[$test_key]); - $result .= "{$test_key}{$reasons}\n"; +$program = rtrim($row['program'], ":"); +if (isset($test_hash[$program]) && isTestPass($row['result'])) { + $reasons = getFailReasons($test_hash[$program]); + $result .= $program . $reasons . "\n"; } } mysql_free_re
[llvm-commits] CVS: nightlytest-serverside/ProgramResults.php
Changes in directory nightlytest-serverside: ProgramResults.php updated: 1.47 -> 1.48 --- Log message: Strip extraneous colon attempt #2 --- Diffs of the changes: (+8 -8) ProgramResults.php | 16 1 files changed, 8 insertions(+), 8 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.47 nightlytest-serverside/ProgramResults.php:1.48 --- nightlytest-serverside/ProgramResults.php:1.47 Mon Sep 11 11:48:25 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 12:07:24 2006 @@ -136,7 +136,7 @@ #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()); while($row = mysql_fetch_array($program_query)){ -$program = rtrim($row['program'], ":"); +$program = rtrim($row['program'], ": "); $result[$program] = array(); array_push($result[$program], "{$row['type']}"); $index=0; @@ -425,7 +425,7 @@ $query = "SELECT * 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_array($program_query)) { - $program = rtrim($row['program'], ":"); + $program = rtrim($row['program'], ": "); $result .= $program . "\n"; } mysql_free_result($program_query); @@ -435,7 +435,7 @@ while($row = mysql_fetch_array($program_query)) { $test_result = $row['result']; if (!isTestPass($test_result)) { -$program = rtrim($row['program'], ":"); +$program = rtrim($row['program'], ": "); $reasons = getFailReasons($test_result); $result .= $program . $reasons . "\n"; } @@ -464,7 +464,7 @@ $query = "SELECT * FROM tests WHERE night=$night_id AND result=\"FAIL\""; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)){ - $program = rtrim($row['program'], ":"); + $program = rtrim($row['program'], ": "); $result .= $program . "\n"; } mysql_free_result($program_query); @@ -493,7 +493,7 @@ $query = "SELECT * FROM $table WHERE night=$id"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$program = rtrim($row['program'], ":"); +$program = rtrim($row['program'], ": "); $test_hash[$program] = $row['result']; } mysql_free_result($program_query); @@ -511,7 +511,7 @@ $query = "SELECT * FROM $table WHERE night=$id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$program = rtrim($row['program'], ":"); +$program = rtrim($row['program'], ": "); if (!isset($test_hash[$program])) { $result .= $program . "\n"; } @@ -600,7 +600,7 @@ $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { if (!isTestPass($row['result'])) { - $program = rtrim($row['program'], ":"); + $program = rtrim($row['program'], ": "); $test_hash[$program] = $row['result']; } } @@ -619,7 +619,7 @@ $query = "SELECT * FROM $table WHERE night=$id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { -$program = rtrim($row['program'], ":"); +$program = rtrim($row['program'], ": "); if (isset($test_hash[$program]) && isTestPass($row['result'])) { $reasons = getFailReasons($test_hash[$program]); $result .= $program . $reasons . "\n"; ___ 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/PredicateSimplifier.cpp
Changes in directory llvm/lib/Transforms/Scalar: PredicateSimplifier.cpp updated: 1.6 -> 1.7 --- Log message: Skip the linear search if the answer is already known. --- Diffs of the changes: (+22 -20) PredicateSimplifier.cpp | 42 ++ 1 files changed, 22 insertions(+), 20 deletions(-) Index: llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp diff -u llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:1.6 llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:1.7 --- llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:1.6 Sat Sep 9 21:27:07 2006 +++ llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp Mon Sep 11 12:23:34 2006 @@ -501,30 +501,32 @@ Value *SCI0 = resolve(SCI->getOperand(0), KP), *SCI1 = resolve(SCI->getOperand(1), KP); - PropertySet::ConstPropertyIterator NE = - KP.findProperty(PropertySet::NE, SCI0, SCI1); - - if (NE != KP.Properties.end()) { -switch (SCI->getOpcode()) { - case Instruction::SetEQ: -return ConstantBool::False; - case Instruction::SetNE: -return ConstantBool::True; - case Instruction::SetLE: - case Instruction::SetGE: - case Instruction::SetLT: - case Instruction::SetGT: -break; - default: -assert(0 && "Unknown opcode in SetCondInst."); -break; -} - } ConstantIntegral *CI1 = dyn_cast(SCI0), *CI2 = dyn_cast(SCI1); - if (!CI1 || !CI2) return SCI; + if (!CI1 || !CI2) { +PropertySet::ConstPropertyIterator NE = +KP.findProperty(PropertySet::NE, SCI0, SCI1); + +if (NE != KP.Properties.end()) { + switch (SCI->getOpcode()) { +case Instruction::SetEQ: + return ConstantBool::False; +case Instruction::SetNE: + return ConstantBool::True; +case Instruction::SetLE: +case Instruction::SetGE: +case Instruction::SetLT: +case Instruction::SetGT: + break; +default: + assert(0 && "Unknown opcode in SetCondInst."); + break; + } +} +return SCI; + } switch(SCI->getOpcode()) { case Instruction::SetLE: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/ARM/ARMAsmPrinter.cpp ARMISelDAGToDAG.cpp ARMInstrInfo.cpp ARMInstrInfo.td ARMRegisterInfo.cpp
Changes in directory llvm/lib/Target/ARM: ARMAsmPrinter.cpp updated: 1.18 -> 1.19 ARMISelDAGToDAG.cpp updated: 1.41 -> 1.42 ARMInstrInfo.cpp updated: 1.5 -> 1.6 ARMInstrInfo.td updated: 1.25 -> 1.26 ARMRegisterInfo.cpp updated: 1.17 -> 1.18 --- Log message: partial implementation of the ARM Addressing Mode 1 --- Diffs of the changes: (+75 -38) ARMAsmPrinter.cpp | 13 +++ ARMISelDAGToDAG.cpp | 21 ++- ARMInstrInfo.cpp| 14 ++-- ARMInstrInfo.td | 57 ARMRegisterInfo.cpp |8 +++ 5 files changed, 75 insertions(+), 38 deletions(-) Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.18 llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.19 --- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.18 Mon Sep 11 07:49:38 2006 +++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp Mon Sep 11 12:25:40 2006 @@ -54,6 +54,8 @@ return "ARM Assembly Printer"; } +void printAddrMode1(const MachineInstr *MI, int opNum); + void printMemRegImm(const MachineInstr *MI, int opNum, const char *Modifier = NULL) { const MachineOperand &MO1 = MI->getOperand(opNum); @@ -155,6 +157,17 @@ return false; } +void ARMAsmPrinter::printAddrMode1(const MachineInstr *MI, int opNum) { + const MachineOperand &MO1 = MI->getOperand(opNum); + + if(MO1.isImmediate()) { +printOperand(MI, opNum); + } else { +assert(MO1.isRegister()); +printOperand(MI, opNum); + } +} + void ARMAsmPrinter::printOperand(const MachineInstr *MI, int opNum) { const MachineOperand &MO = MI->getOperand (opNum); const MRegisterInfo &RI = *TM.getRegisterInfo(); Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.41 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.42 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.41Mon Sep 4 14:05:01 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Mon Sep 11 12:25:40 2006 @@ -386,7 +386,7 @@ SDOperandARMCC = DAG.getConstant(DAGCCToARMCC(CC), MVT::i32); SDOperand Cmp = DAG.getNode(ARMISD::CMP, MVT::Flag, LHS, RHS); - return DAG.getNode(ARMISD::SELECT, MVT::i32, FalseVal, TrueVal, ARMCC, Cmp); + return DAG.getNode(ARMISD::SELECT, MVT::i32, TrueVal, FalseVal, ARMCC, Cmp); } static SDOperand LowerBR_CC(SDOperand Op, SelectionDAG &DAG) { @@ -445,6 +445,7 @@ SDNode *Select(SDOperand Op); virtual void InstructionSelectBasicBlock(SelectionDAG &DAG); bool SelectAddrRegImm(SDOperand N, SDOperand &Offset, SDOperand &Base); + bool SelectAddrMode1(SDOperand N, SDOperand &Arg); // Include the pieces autogenerated from the target description. #include "ARMGenDAGISel.inc" @@ -478,6 +479,24 @@ return isInt12Immediate(Op.Val, Imm); } +bool ARMDAGToDAGISel::SelectAddrMode1(SDOperand N, + SDOperand &Arg) { + switch(N.getOpcode()) { + case ISD::CopyFromReg: +Arg= N; +return true; + case ISD::Constant: { +//TODO:check that we have a valid constant +int32_t t = cast(N)->getValue(); +Arg = CurDAG->getTargetConstant(t, MVT::i32); +return true; + } + default: +std::cerr << "OpCode = " << N.getOpcode() << "\n"; +assert(0); + } +} + //register plus/minus 12 bit offset bool ARMDAGToDAGISel::SelectAddrRegImm(SDOperand N, SDOperand &Offset, SDOperand &Base) { Index: llvm/lib/Target/ARM/ARMInstrInfo.cpp diff -u llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.5 llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.6 --- llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.5Tue Aug 8 15:35:03 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.cppMon Sep 11 12:25:40 2006 @@ -33,15 +33,15 @@ unsigned &SrcReg, unsigned &DstReg) const { MachineOpCode oc = MI.getOpcode(); switch (oc) { - default: -return false; - case ARM::movrr: + case ARM::MOV: assert(MI.getNumOperands() == 2 && MI.getOperand(0).isRegister() && - MI.getOperand(1).isRegister() && "Invalid ARM MOV instruction"); -SrcReg = MI.getOperand(1).getReg();; -DstReg = MI.getOperand(0).getReg();; -return true; +if (MI.getOperand(1).isRegister()) { + SrcReg = MI.getOperand(1).getReg(); + DstReg = MI.getOperand(0).getReg(); + return true; +} } + return false; } Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.25 llvm/lib/Target/ARM/ARMInstrInfo.td:1.26 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.25Fri Sep 8 12:36:23 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Mon Sep 11 12:25:40 2006 @@ -13,6 +13,12 @@ //===--===// // Address operands +def op_addr_mode1 : Operand { + let PrintMethod = "printAddrMode1"; + let NumMIOperands = 1; + let MIOperandInfo = (ops ptr_rc); +} + def memri : Operand { l
[llvm-commits] CVS: llvm/LICENSE.TXT
Changes in directory llvm: LICENSE.TXT updated: 1.27 -> 1.28 --- Log message: burg is gone --- Diffs of the changes: (+0 -1) LICENSE.TXT |1 - 1 files changed, 1 deletion(-) Index: llvm/LICENSE.TXT diff -u llvm/LICENSE.TXT:1.27 llvm/LICENSE.TXT:1.28 --- llvm/LICENSE.TXT:1.27 Thu Apr 20 00:51:53 2006 +++ llvm/LICENSE.TXTMon Sep 11 12:28:11 2006 @@ -68,5 +68,4 @@ Autoconfllvm/autoconf llvm/projects/ModuleMaker/autoconf llvm/projects/sample/autoconf -Burgllvm/utils/Burg GNU Libcllvm/runtime/GCCLibraries/libc ___ 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.48 -> 1.49 --- Log message: Isolating why #1 --- Diffs of the changes: (+6 -1) ProgramResults.php |7 ++- 1 files changed, 6 insertions(+), 1 deletion(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.48 nightlytest-serverside/ProgramResults.php:1.49 --- nightlytest-serverside/ProgramResults.php:1.48 Mon Sep 11 12:07:24 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 12:48:31 2006 @@ -396,7 +396,12 @@ for ($i = 0; $i < count($phases); $i++) { $phase = $phases[$i]; -if (strpos($phase, "*") !== false) { +if (strcmp($phase, "PASS") == 0 || +strcmp($phase, "FAIL") == 0 || +strcmp($phase, "XFAIL") == 0) { + $result = $phase; + break; +} else if (strpos($phase, "*") !== false) { list($tool, $tool_result) = split(": ", $phase); if (strcmp($result, "") != 0) { $result .= ", "; ___ 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.49 -> 1.50 --- Log message: Isolating why #2 --- Diffs of the changes: (+2 -7) ProgramResults.php |9 ++--- 1 files changed, 2 insertions(+), 7 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.49 nightlytest-serverside/ProgramResults.php:1.50 --- nightlytest-serverside/ProgramResults.php:1.49 Mon Sep 11 12:48:31 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 12:51:35 2006 @@ -396,12 +396,7 @@ for ($i = 0; $i < count($phases); $i++) { $phase = $phases[$i]; -if (strcmp($phase, "PASS") == 0 || -strcmp($phase, "FAIL") == 0 || -strcmp($phase, "XFAIL") == 0) { - $result = $phase; - break; -} else if (strpos($phase, "*") !== false) { +if (strpos($phase, "*") !== false) { list($tool, $tool_result) = split(": ", $phase); if (strcmp($result, "") != 0) { $result .= ", "; @@ -431,7 +426,7 @@ $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); - $result .= $program . "\n"; + $result .= $program . "[" . $row['result'] . "]" . "\n"; } mysql_free_result($program_query); ___ 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.50 -> 1.51 --- Log message: Isolating why #3 --- Diffs of the changes: (+2 -1) ProgramResults.php |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.50 nightlytest-serverside/ProgramResults.php:1.51 --- nightlytest-serverside/ProgramResults.php:1.50 Mon Sep 11 12:51:35 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 12:55:31 2006 @@ -422,7 +422,8 @@ 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 * FROM tests WHERE night=$night_id AND result=\"FAIL\" ORDER BY program ASC"; +$query = "SELECT * FROM tests WHERE night=$night_id ORDER BY program ASC"; $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); ___ 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.51 -> 1.52 --- Log message: Isolating why #4 --- Diffs of the changes: (+10 -3) ProgramResults.php | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.51 nightlytest-serverside/ProgramResults.php:1.52 --- nightlytest-serverside/ProgramResults.php:1.51 Mon Sep 11 12:55:31 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 13:33:07 2006 @@ -422,8 +422,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 * FROM tests WHERE night=$night_id ORDER BY program ASC"; +$query = "SELECT * 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_array($program_query)) { $program = rtrim($row['program'], ": "); @@ -621,7 +620,15 @@ $program_query = mysql_query($query) or die (mysql_error()); while ($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); -if (isset($test_hash[$program]) && isTestPass($row['result'])) { +$wasfailing = isset($test_hash[$program]); +$ispassing = isTestPass($row['result']); + +if (strcmp($program, "/Volumes/Muggles/LLVM/nightlytest/build/llvm/test/Regression/Transforms/TailDup/MergeTest.ll") == 0) { + $result = "MergeTest.ll " . $test_hash[$program] . " " . $row['result'] . " " . +($wasfailing ? "was failing " : " ") . ($ispassing ? "is passing\n" : "\n"); +} + +if ($wasfailing && $ispassing) { $reasons = getFailReasons($test_hash[$program]); $result .= $program . $reasons . "\n"; } ___ 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.52 -> 1.53 --- Log message: Isolating why #5 --- Diffs of the changes: (+2 -2) ProgramResults.php |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.52 nightlytest-serverside/ProgramResults.php:1.53 --- nightlytest-serverside/ProgramResults.php:1.52 Mon Sep 11 13:33:07 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 13:47:29 2006 @@ -624,8 +624,8 @@ $ispassing = isTestPass($row['result']); if (strcmp($program, "/Volumes/Muggles/LLVM/nightlytest/build/llvm/test/Regression/Transforms/TailDup/MergeTest.ll") == 0) { - $result = "MergeTest.ll " . $test_hash[$program] . " " . $row['result'] . " " . -($wasfailing ? "was failing " : " ") . ($ispassing ? "is passing\n" : "\n"); + $result = "MergeTest.ll (" . $test_hash[$program] . ") (" . $row['result'] . ") " . +($wasfailing ? "was failing " : "was passing") . ($ispassing ? "is passing\n" : "is failing\n"); } if ($wasfailing && $ispassing) { ___ 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.53 -> 1.54 --- Log message: Isolating why #6 --- Diffs of the changes: (+1 -9) ProgramResults.php | 10 +- 1 files changed, 1 insertion(+), 9 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.53 nightlytest-serverside/ProgramResults.php:1.54 --- nightlytest-serverside/ProgramResults.php:1.53 Mon Sep 11 13:47:29 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 13:50:58 2006 @@ -584,9 +584,7 @@ * an asterix appears by each tool that has failed. */ function isTestPass($test_result) { - return strcmp($test_result, "PASS") == 0 || - strcmp($test_result, "XFAIL") == 0 || - strpos($test_result, "*") === false; + return !(strcmp($test_result, "FAIL") == 0 || strpos($test_result, "*") !== false); } /* @@ -622,12 +620,6 @@ $program = rtrim($row['program'], ": "); $wasfailing = isset($test_hash[$program]); $ispassing = isTestPass($row['result']); - -if (strcmp($program, "/Volumes/Muggles/LLVM/nightlytest/build/llvm/test/Regression/Transforms/TailDup/MergeTest.ll") == 0) { - $result = "MergeTest.ll (" . $test_hash[$program] . ") (" . $row['result'] . ") " . -($wasfailing ? "was failing " : "was passing") . ($ispassing ? "is passing\n" : "is failing\n"); -} - if ($wasfailing && $ispassing) { $reasons = getFailReasons($test_hash[$program]); $result .= $program . $reasons . "\n"; ___ 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.54 -> 1.55 --- Log message: Isolating why #7 --- Diffs of the changes: (+1 -1) ProgramResults.php |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.54 nightlytest-serverside/ProgramResults.php:1.55 --- nightlytest-serverside/ProgramResults.php:1.54 Mon Sep 11 13:50:58 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 13:55:20 2006 @@ -426,7 +426,7 @@ $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); - $result .= $program . "[" . $row['result'] . "]" . "\n"; + $result .= $program . "\n"; } mysql_free_result($program_query); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td
Changes in directory llvm/lib/Target/ARM: ARMInstrInfo.td updated: 1.26 -> 1.27 --- Log message: implement SRL and MUL --- Diffs of the changes: (+9 -0) ARMInstrInfo.td |9 + 1 files changed, 9 insertions(+) Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.26 llvm/lib/Target/ARM/ARMInstrInfo.td:1.27 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.26Mon Sep 11 12:25:40 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Mon Sep 11 14:24:19 2006 @@ -129,6 +129,11 @@ "mov $dst, $a, asr $b", [(set IntRegs:$dst, (sra IntRegs:$a, IntRegs:$b))]>; +def SRL : InstARM<(ops IntRegs:$dst, IntRegs:$a, IntRegs:$b), + "mov $dst, $a, lsr $b", + [(set IntRegs:$dst, (srl IntRegs:$a, IntRegs:$b))]>; + + def EOR : InstARM<(ops IntRegs:$dst, IntRegs:$a, op_addr_mode1:$b), "eor $dst, $a, $b", [(set IntRegs:$dst, (xor IntRegs:$a, addr_mode1:$b))]>; @@ -145,6 +150,10 @@ IntRegs:$false, imm:$cc))]>; } +def MUL : InstARM<(ops IntRegs:$dst, IntRegs:$a, IntRegs:$b), + "mul $dst, $a, $b", + [(set IntRegs:$dst, (mul IntRegs:$a, IntRegs:$b))]>; + def bcond : InstARM<(ops brtarget:$dst, CCOp:$cc), "b$cc $dst", [(armbr bb:$dst, imm:$cc)]>; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Changes in directory llvm/lib/Target/ARM: ARMISelDAGToDAG.cpp updated: 1.42 -> 1.43 --- Log message: add the correct fallback for ARMDAGToDAGISel::SelectAddrMode1 --- Diffs of the changes: (+3 -6) ARMISelDAGToDAG.cpp |9 +++-- 1 files changed, 3 insertions(+), 6 deletions(-) Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.42 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.43 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.42Mon Sep 11 12:25:40 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Mon Sep 11 14:23:32 2006 @@ -482,19 +482,16 @@ bool ARMDAGToDAGISel::SelectAddrMode1(SDOperand N, SDOperand &Arg) { switch(N.getOpcode()) { - case ISD::CopyFromReg: -Arg= N; -return true; case ISD::Constant: { //TODO:check that we have a valid constant int32_t t = cast(N)->getValue(); Arg = CurDAG->getTargetConstant(t, MVT::i32); return true; } - default: -std::cerr << "OpCode = " << N.getOpcode() << "\n"; -assert(0); } + + Arg= N; + return true; } //register plus/minus 12 bit offset ___ 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.55 -> 1.56 --- Log message: Trim excess path #1 --- Diffs of the changes: (+23 -11) ProgramResults.php | 34 +++--- 1 files changed, 23 insertions(+), 11 deletions(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.55 nightlytest-serverside/ProgramResults.php:1.56 --- nightlytest-serverside/ProgramResults.php:1.55 Mon Sep 11 13:55:20 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 14:32:33 2006 @@ -411,13 +411,25 @@ return $result; } + + +/* + * Trim test path to exclude redundant info. + */ +function trimTestPath($program) { + list($head, $tail) = split("/llvm/test/", $program); + if (isset($tail)) { +$program = $tail; + } + return $program; +} /* * Get failing tests * * This is somewhat of a hack because from night 684 forward we now store the test - * in their own table as oppoesd in the night table. + * in their own table as opposed in the night table. */ function getFailures($night_id) { $result=""; @@ -426,7 +438,7 @@ $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); - $result .= $program . "\n"; + $result .= trimTestPath($program) . "\n"; } mysql_free_result($program_query); @@ -449,7 +461,7 @@ * Get Unexpected failing tests * * This is somewhat of a hack because from night 684 forward we now store the test - * in their own table as oppoesd in the night table. + * in their own table as opposed in the night table. */ function getUnexpectedFailures($night_id){ $result=""; @@ -465,7 +477,7 @@ $program_query = mysql_query($query) or die (mysql_error()); while($row = mysql_fetch_array($program_query)){ $program = rtrim($row['program'], ": "); - $result .= $program . "\n"; + $result .= trimTestPath($program) . "\n"; } mysql_free_result($program_query); } @@ -513,7 +525,7 @@ while ($row = mysql_fetch_array($program_query)) { $program = rtrim($row['program'], ": "); if (!isset($test_hash[$program])) { - $result .= $program . "\n"; + $result .= trimTestPath($program) . "\n"; } } mysql_free_result($program_query); @@ -527,7 +539,7 @@ * in their own table as opposed in the night table. */ function getNewTests($cur_id, $prev_id){ - if (strcmp($prev_id, "") === 0 || strcmp($cur_id, "") === 0) { + if (strlen($prev_id) === 0 || strlen($cur_id) === 0) { return ""; } @@ -555,7 +567,7 @@ * in their own table as opposed in the night table. */ function getRemovedTests($cur_id, $prev_id){ - if (strcmp($prev_id, "") === 0 || strcmp($cur_id, "") === 0) { + if (strlen($prev_id) === 0 || strlen($cur_id) === 0) { return ""; } @@ -622,7 +634,7 @@ $ispassing = isTestPass($row['result']); if ($wasfailing && $ispassing) { $reasons = getFailReasons($test_hash[$program]); - $result .= $program . $reasons . "\n"; + $result .= trimTestPath($program) . $reasons . "\n"; } } mysql_free_result($program_query); @@ -636,7 +648,7 @@ * in their own table as opposed in the night table. */ function getFixedTests($cur_id, $prev_id){ - if (strcmp($prev_id, "") === 0 || strcmp($cur_id, "") === 0) { + if (strlen($prev_id) === 0 || strlen($cur_id) === 0) { return ""; } @@ -661,10 +673,10 @@ * Get Broken Tests * * This is somewhat of a hack because from night 684 forward we now store the test - * in their own table as oppoesd in the night table. + * in their own table as opposed in the night table. */ function getBrokenTests($cur_id, $prev_id){ - if (strcmp($prev_id, "") === 0 || strcmp($cur_id, "") === 0) { + if (strlen($prev_id) === 0 || strlen($cur_id) === 0) { return ""; } ___ 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.56 -> 1.57 --- Log message: Trim excess path #2 --- Diffs of the changes: (+1 -1) ProgramResults.php |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: nightlytest-serverside/ProgramResults.php diff -u nightlytest-serverside/ProgramResults.php:1.56 nightlytest-serverside/ProgramResults.php:1.57 --- nightlytest-serverside/ProgramResults.php:1.56 Mon Sep 11 14:32:33 2006 +++ nightlytest-serverside/ProgramResults.php Mon Sep 11 14:39:50 2006 @@ -419,7 +419,7 @@ function trimTestPath($program) { list($head, $tail) = split("/llvm/test/", $program); if (isset($tail)) { -$program = $tail; +$program = "test/" . $tail; } return $program; } ___ 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.503 -> 1.504 --- Log message: Fix PR905: http://llvm.org/PR905 and InstCombine/2006-09-11-EmptyStructCrash.ll --- Diffs of the changes: (+2 -1) InstructionCombining.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.503 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.504 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.503 Sat Sep 9 17:02:56 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Mon Sep 11 16:43:16 2006 @@ -5187,7 +5187,8 @@ Constant *ZeroUInt = Constant::getNullValue(Type::UIntTy); unsigned NumZeros = 0; while (SrcTy != DstTy && - isa(SrcTy) && !isa(SrcTy)) { + isa(SrcTy) && !isa(SrcTy) && + SrcTy->getNumContainedTypes() /* not "{}" */) { SrcTy = cast(SrcTy)->getTypeAtIndex(ZeroUInt); ++NumZeros; } ___ 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-11-EmptyStructCrash.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: 2006-09-11-EmptyStructCrash.ll added (r1.1) --- Log message: new testcase for PR905: http://llvm.org/PR905 --- Diffs of the changes: (+47 -0) 2006-09-11-EmptyStructCrash.ll | 47 + 1 files changed, 47 insertions(+) Index: llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll diff -c /dev/null llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll:1.1 *** /dev/null Mon Sep 11 16:42:06 2006 --- llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll Mon Sep 11 16:41:56 2006 *** *** 0 --- 1,47 + ; RUN: llvm-as < %s | opt -instcombine -disable-output + ; PR905 + + %RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* } + %RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, int, int, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* } + %RPyOpaque_RuntimeTypeInfo = type opaque* + %arraytype_Char = type { int, [0 x sbyte] } + %fixarray_array1019 = type [1019 x sbyte*] + %functiontype_12 = type %RPYTHON_EXCEPTION* () + %functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*) + %structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, int, %fixarray_array1019 } + %structtype_exceptions.Exception = type { %RPYTHON_EXCEPTION } + %structtype_gc_pool = type { } + %structtype_gc_pool_node = type { %structtype_header*, %structtype_gc_pool_node* } + %structtype_header = type { int, %structtype_header* } + %structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, int, int, bool, %structtype_gc_pool*, int, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double } + + implementation ; Functions: + + fastcc void %pypy_MarkSweepGC.collect() { + block0: + %v1221 = load %structtype_AddressLinkedListChunk** null ; <%structtype_AddressLinkedListChunk*> [#uses=1] + %v1222 = setne %structtype_AddressLinkedListChunk* %v1221, null ; [#uses=1] + br bool %v1222, label %block79, label %block4 + + block4: ; preds = %block0 + ret void + + block22: ; preds = %block79 + ret void + + block67: ; preds = %block79 + %v1459 = load %structtype_gc_pool** null; <%structtype_gc_pool*> [#uses=1] + %v1460 = cast %structtype_gc_pool* %v1459 to sbyte* ; [#uses=1] + %tmp_873 = cast sbyte* %v1460 to int; [#uses=1] + %tmp_874 = sub int %tmp_873, 0 ; [#uses=1] + %v1461 = cast int %tmp_874 to sbyte*; [#uses=1] + %v1462 = cast sbyte* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1] + %tmp_876 = getelementptr %structtype_header* %v1462, int 0, uint 0 ; [#uses=1] + store int 0, int* %tmp_876 + ret void + + block79: ; preds = %block0 + %v1291 = load %structtype_gc_pool** null; <%structtype_gc_pool*> [#uses=1] + %v1292 = setne %structtype_gc_pool* %v1291, null; [#uses=1] + br bool %v1292, label %block67, label %block22 + } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CFrontend/2006-09-11-BitfieldRefCrash.c
Changes in directory llvm/test/Regression/CFrontend: 2006-09-11-BitfieldRefCrash.c added (r1.1) --- Log message: new testcase for PR906: http://llvm.org/PR906 --- Diffs of the changes: (+12 -0) 2006-09-11-BitfieldRefCrash.c | 12 1 files changed, 12 insertions(+) Index: llvm/test/Regression/CFrontend/2006-09-11-BitfieldRefCrash.c diff -c /dev/null llvm/test/Regression/CFrontend/2006-09-11-BitfieldRefCrash.c:1.1 *** /dev/null Mon Sep 11 17:48:33 2006 --- llvm/test/Regression/CFrontend/2006-09-11-BitfieldRefCrash.cMon Sep 11 17:48:23 2006 *** *** 0 --- 1,12 + // RUN: %llvmgcc %s -S -o - + // PR906 + + struct state_struct { + unsigned long long phys_frame: 50; + unsigned valid : 2; + } s; + + int mem_access(struct state_struct *p) { + return p->valid; + } + ___ 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.126 -> 1.127 --- Log message: add compilable testcase --- Diffs of the changes: (+6 -1) README.txt |7 ++- 1 files changed, 6 insertions(+), 1 deletion(-) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.126 llvm/lib/Target/X86/README.txt:1.127 --- llvm/lib/Target/X86/README.txt:1.126Mon Sep 11 00:35:17 2006 +++ llvm/lib/Target/X86/README.txt Mon Sep 11 17:57:51 2006 @@ -581,7 +581,12 @@ Codegen: -if ((variable == 4) || (variable == 6)) { stuff } +int f(int a, int b) { + if (a == 4 || a == 6) +b++; + return b; +} + as: ___ 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.127 -> 1.128 --- Log message: Testcase noticed from PR906: http://llvm.org/PR906 --- Diffs of the changes: (+34 -0) README.txt | 34 ++ 1 files changed, 34 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.127 llvm/lib/Target/X86/README.txt:1.128 --- llvm/lib/Target/X86/README.txt:1.127Mon Sep 11 17:57:51 2006 +++ llvm/lib/Target/X86/README.txt Mon Sep 11 18:00:56 2006 @@ -594,3 +594,37 @@ cmp eax, 6 jz label +//===-===// + +Compile: +int %test(ulong *%tmp) { +%tmp = load ulong* %tmp ; [#uses=1] +%tmp.mask = shr ulong %tmp, ubyte 50; [#uses=1] +%tmp.mask = cast ulong %tmp.mask to ubyte ; [#uses=1] +%tmp2 = and ubyte %tmp.mask, 3 ; [#uses=1] +%tmp2 = cast ubyte %tmp2 to int ; [#uses=1] +ret int %tmp2 +} + +to: + +_test: +movl 4(%esp), %eax +movl 4(%eax), %eax +shrl $18, %eax +andl $3, %eax +ret + +instead of: + +_test: +movl 4(%esp), %eax +movl 4(%eax), %eax +shrl $18, %eax +# TRUNCATE movb %al, %al +andb $3, %al +movzbl %al, %eax +ret + +This saves a movzbl, and saves a truncate if it doesn't get coallesced right. +This is a simple DAGCombine to propagate the zext through the and. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h
Changes in directory llvm/include/llvm/Analysis: Dominators.h updated: 1.59 -> 1.60 --- Log message: Add ability to remove nodes from DominatorTree, for when a BasicBlock is being removed. --- Diffs of the changes: (+8 -0) Dominators.h |8 1 files changed, 8 insertions(+) Index: llvm/include/llvm/Analysis/Dominators.h diff -u llvm/include/llvm/Analysis/Dominators.h:1.59 llvm/include/llvm/Analysis/Dominators.h:1.60 --- llvm/include/llvm/Analysis/Dominators.h:1.59Tue Aug 1 17:24:38 2006 +++ llvm/include/llvm/Analysis/Dominators.h Mon Sep 11 19:18:28 2006 @@ -399,6 +399,14 @@ N->setIDom(NewIDom); } + /// removeNode - Removes a node from the dominator tree. Block must not + /// dominate any other blocks. Invalidates any node pointing to removed + /// block. + void removeNode(BasicBlock *BB) { +assert(getNode(BB) && "Removing node that isn't in dominator tree."); +Nodes.erase(BB); + } + /// print - Convert to human readable form /// virtual void print(std::ostream &OS, const Module* = 0) const; ___ 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.128 -> 1.129 --- Log message: add a note --- Diffs of the changes: (+14 -0) README.txt | 14 ++ 1 files changed, 14 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.128 llvm/lib/Target/X86/README.txt:1.129 --- llvm/lib/Target/X86/README.txt:1.128Mon Sep 11 18:00:56 2006 +++ llvm/lib/Target/X86/README.txt Tue Sep 12 01:36:01 2006 @@ -628,3 +628,17 @@ This saves a movzbl, and saves a truncate if it doesn't get coallesced right. This is a simple DAGCombine to propagate the zext through the and. + +//===-===// + +Instead of: + + cmpl $4294967295, %edx + jg LBB1_8 #cond_false49 + +emit: + + testl %edx, %edx + js LBB1_8 + +This saves a byte of code space. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits