You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(6) |
2
(7) |
3
(7) |
4
(5) |
5
|
|
6
|
7
|
8
|
9
(5) |
10
(4) |
11
(5) |
12
(1) |
|
13
(2) |
14
(1) |
15
(2) |
16
(5) |
17
|
18
|
19
|
|
20
|
21
(1) |
22
(8) |
23
(1) |
24
|
25
|
26
(1) |
|
27
(5) |
28
|
29
(15) |
30
(9) |
31
(12) |
|
|
|
From: <sv...@va...> - 2009-12-31 19:27:01
|
Author: sewardj Date: 2009-12-31 19:26:49 +0000 (Thu, 31 Dec 2009) New Revision: 10981 Log: Swizzle external (back to the trunk VEX). Modified: branches/ARM/ Property changes on: branches/ARM ___________________________________________________________________ Name: svn:externals - VEX svn://svn.valgrind.org/vex/branches/ARM + VEX svn://svn.valgrind.org/vex/trunk |
|
From: <sv...@va...> - 2009-12-31 19:26:18
|
Author: sewardj
Date: 2009-12-31 19:26:03 +0000 (Thu, 31 Dec 2009)
New Revision: 1950
Log:
Make the x86 and amd64 back ends use the revised prototypes for
genSpill and genReload. ppc32/64 backends are still broken.
Also, tidy up associated pointer-type casting in main_main.c.
Modified:
trunk/priv/host_amd64_defs.c
trunk/priv/host_amd64_defs.h
trunk/priv/host_x86_defs.c
trunk/priv/host_x86_defs.h
trunk/priv/main_main.c
Modified: trunk/priv/host_amd64_defs.c
===================================================================
--- trunk/priv/host_amd64_defs.c 2009-12-31 18:00:12 UTC (rev 1949)
+++ trunk/priv/host_amd64_defs.c 2009-12-31 19:26:03 UTC (rev 1950)
@@ -1912,37 +1912,44 @@
register allocator. Note it's critical these don't write the
condition codes. */
-AMD64Instr* genSpill_AMD64 ( HReg rreg, Int offsetB, Bool mode64 )
+void genSpill_AMD64 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offsetB, Bool mode64 )
{
AMD64AMode* am;
vassert(offsetB >= 0);
vassert(!hregIsVirtual(rreg));
vassert(mode64 == True);
+ *i1 = *i2 = NULL;
am = AMD64AMode_IR(offsetB, hregAMD64_RBP());
-
switch (hregClass(rreg)) {
case HRcInt64:
- return AMD64Instr_Alu64M ( Aalu_MOV, AMD64RI_Reg(rreg), am );
+ *i1 = AMD64Instr_Alu64M ( Aalu_MOV, AMD64RI_Reg(rreg), am );
+ return;
case HRcVec128:
- return AMD64Instr_SseLdSt ( False/*store*/, 16, rreg, am );
+ *i1 = AMD64Instr_SseLdSt ( False/*store*/, 16, rreg, am );
+ return;
default:
ppHRegClass(hregClass(rreg));
vpanic("genSpill_AMD64: unimplemented regclass");
}
}
-AMD64Instr* genReload_AMD64 ( HReg rreg, Int offsetB, Bool mode64 )
+void genReload_AMD64 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offsetB, Bool mode64 )
{
AMD64AMode* am;
vassert(offsetB >= 0);
vassert(!hregIsVirtual(rreg));
vassert(mode64 == True);
+ *i1 = *i2 = NULL;
am = AMD64AMode_IR(offsetB, hregAMD64_RBP());
switch (hregClass(rreg)) {
case HRcInt64:
- return AMD64Instr_Alu64R ( Aalu_MOV, AMD64RMI_Mem(am), rreg );
+ *i1 = AMD64Instr_Alu64R ( Aalu_MOV, AMD64RMI_Mem(am), rreg );
+ return;
case HRcVec128:
- return AMD64Instr_SseLdSt ( True/*load*/, 16, rreg, am );
+ *i1 = AMD64Instr_SseLdSt ( True/*load*/, 16, rreg, am );
+ return;
default:
ppHRegClass(hregClass(rreg));
vpanic("genReload_AMD64: unimplemented regclass");
Modified: trunk/priv/host_amd64_defs.h
===================================================================
--- trunk/priv/host_amd64_defs.h 2009-12-31 18:00:12 UTC (rev 1949)
+++ trunk/priv/host_amd64_defs.h 2009-12-31 19:26:03 UTC (rev 1950)
@@ -744,8 +744,12 @@
extern Bool isMove_AMD64Instr ( AMD64Instr*, HReg*, HReg* );
extern Int emit_AMD64Instr ( UChar* buf, Int nbuf, AMD64Instr*,
Bool, void* dispatch );
-extern AMD64Instr* genSpill_AMD64 ( HReg rreg, Int offset, Bool );
-extern AMD64Instr* genReload_AMD64 ( HReg rreg, Int offset, Bool );
+
+extern void genSpill_AMD64 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offset, Bool );
+extern void genReload_AMD64 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offset, Bool );
+
extern void getAllocableRegs_AMD64 ( Int*, HReg** );
extern HInstrArray* iselSB_AMD64 ( IRSB*, VexArch,
VexArchInfo*,
Modified: trunk/priv/host_x86_defs.c
===================================================================
--- trunk/priv/host_x86_defs.c 2009-12-31 18:00:12 UTC (rev 1949)
+++ trunk/priv/host_x86_defs.c 2009-12-31 19:26:03 UTC (rev 1950)
@@ -1620,41 +1620,50 @@
register allocator. Note it's critical these don't write the
condition codes. */
-X86Instr* genSpill_X86 ( HReg rreg, Int offsetB, Bool mode64 )
+void genSpill_X86 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offsetB, Bool mode64 )
{
X86AMode* am;
vassert(offsetB >= 0);
vassert(!hregIsVirtual(rreg));
vassert(mode64 == False);
+ *i1 = *i2 = NULL;
am = X86AMode_IR(offsetB, hregX86_EBP());
-
switch (hregClass(rreg)) {
case HRcInt32:
- return X86Instr_Alu32M ( Xalu_MOV, X86RI_Reg(rreg), am );
+ *i1 = X86Instr_Alu32M ( Xalu_MOV, X86RI_Reg(rreg), am );
+ return;
case HRcFlt64:
- return X86Instr_FpLdSt ( False/*store*/, 10, rreg, am );
+ *i1 = X86Instr_FpLdSt ( False/*store*/, 10, rreg, am );
+ return;
case HRcVec128:
- return X86Instr_SseLdSt ( False/*store*/, rreg, am );
+ *i1 = X86Instr_SseLdSt ( False/*store*/, rreg, am );
+ return;
default:
ppHRegClass(hregClass(rreg));
vpanic("genSpill_X86: unimplemented regclass");
}
}
-X86Instr* genReload_X86 ( HReg rreg, Int offsetB, Bool mode64 )
+void genReload_X86 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offsetB, Bool mode64 )
{
X86AMode* am;
vassert(offsetB >= 0);
vassert(!hregIsVirtual(rreg));
vassert(mode64 == False);
+ *i1 = *i2 = NULL;
am = X86AMode_IR(offsetB, hregX86_EBP());
switch (hregClass(rreg)) {
case HRcInt32:
- return X86Instr_Alu32R ( Xalu_MOV, X86RMI_Mem(am), rreg );
+ *i1 = X86Instr_Alu32R ( Xalu_MOV, X86RMI_Mem(am), rreg );
+ return;
case HRcFlt64:
- return X86Instr_FpLdSt ( True/*load*/, 10, rreg, am );
+ *i1 = X86Instr_FpLdSt ( True/*load*/, 10, rreg, am );
+ return;
case HRcVec128:
- return X86Instr_SseLdSt ( True/*load*/, rreg, am );
+ *i1 = X86Instr_SseLdSt ( True/*load*/, rreg, am );
+ return;
default:
ppHRegClass(hregClass(rreg));
vpanic("genReload_X86: unimplemented regclass");
Modified: trunk/priv/host_x86_defs.h
===================================================================
--- trunk/priv/host_x86_defs.h 2009-12-31 18:00:12 UTC (rev 1949)
+++ trunk/priv/host_x86_defs.h 2009-12-31 19:26:03 UTC (rev 1950)
@@ -685,8 +685,12 @@
extern Bool isMove_X86Instr ( X86Instr*, HReg*, HReg* );
extern Int emit_X86Instr ( UChar* buf, Int nbuf, X86Instr*,
Bool, void* dispatch );
-extern X86Instr* genSpill_X86 ( HReg rreg, Int offset, Bool );
-extern X86Instr* genReload_X86 ( HReg rreg, Int offset, Bool );
+
+extern void genSpill_X86 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offset, Bool );
+extern void genReload_X86 ( /*OUT*/HInstr** i1, /*OUT*/HInstr** i2,
+ HReg rreg, Int offset, Bool );
+
extern X86Instr* directReload_X86 ( X86Instr* i,
HReg vreg, Short spill_off );
extern void getAllocableRegs_X86 ( Int*, HReg** );
Modified: trunk/priv/main_main.c
===================================================================
--- trunk/priv/main_main.c 2009-12-31 18:00:12 UTC (rev 1949)
+++ trunk/priv/main_main.c 2009-12-31 19:26:03 UTC (rev 1950)
@@ -243,10 +243,13 @@
getAllocableRegs_X86 ( &n_available_real_regs,
&available_real_regs );
isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_X86Instr;
- getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool)) getRegUsage_X86Instr;
+ getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool))
+ getRegUsage_X86Instr;
mapRegs = (void(*)(HRegRemap*,HInstr*, Bool)) mapRegs_X86Instr;
- genSpill = (HInstr*(*)(HReg,Int, Bool)) genSpill_X86;
- genReload = (HInstr*(*)(HReg,Int, Bool)) genReload_X86;
+ genSpill = (void(*)(HInstr**,HInstr**,HReg,Int,Bool))
+ genSpill_X86;
+ genReload = (void(*)(HInstr**,HInstr**,HReg,Int,Bool))
+ genReload_X86;
directReload = (HInstr*(*)(HInstr*,HReg,Short)) directReload_X86;
ppInstr = (void(*)(HInstr*, Bool)) ppX86Instr;
ppReg = (void(*)(HReg)) ppHRegX86;
@@ -263,10 +266,13 @@
getAllocableRegs_AMD64 ( &n_available_real_regs,
&available_real_regs );
isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_AMD64Instr;
- getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool)) getRegUsage_AMD64Instr;
+ getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool))
+ getRegUsage_AMD64Instr;
mapRegs = (void(*)(HRegRemap*,HInstr*, Bool)) mapRegs_AMD64Instr;
- genSpill = (HInstr*(*)(HReg,Int, Bool)) genSpill_AMD64;
- genReload = (HInstr*(*)(HReg,Int, Bool)) genReload_AMD64;
+ genSpill = (void(*)(HInstr**,HInstr**,HReg,Int,Bool))
+ genSpill_AMD64;
+ genReload = (void(*)(HInstr**,HInstr**,HReg,Int,Bool))
+ genReload_AMD64;
ppInstr = (void(*)(HInstr*, Bool)) ppAMD64Instr;
ppReg = (void(*)(HReg)) ppHRegAMD64;
iselSB = iselSB_AMD64;
@@ -284,8 +290,8 @@
isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_PPCInstr;
getRegUsage = (void(*)(HRegUsage*,HInstr*,Bool)) getRegUsage_PPCInstr;
mapRegs = (void(*)(HRegRemap*,HInstr*,Bool)) mapRegs_PPCInstr;
- genSpill = (HInstr*(*)(HReg,Int,Bool)) genSpill_PPC;
- genReload = (HInstr*(*)(HReg,Int,Bool)) genReload_PPC;
+ genSpill = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genSpill_PPC;
+ genReload = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genReload_PPC;
ppInstr = (void(*)(HInstr*,Bool)) ppPPCInstr;
ppReg = (void(*)(HReg)) ppHRegPPC;
iselSB = iselSB_PPC;
@@ -303,8 +309,8 @@
isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_PPCInstr;
getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool)) getRegUsage_PPCInstr;
mapRegs = (void(*)(HRegRemap*,HInstr*, Bool)) mapRegs_PPCInstr;
- genSpill = (HInstr*(*)(HReg,Int, Bool)) genSpill_PPC;
- genReload = (HInstr*(*)(HReg,Int, Bool)) genReload_PPC;
+ genSpill = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genSpill_PPC;
+ genReload = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genReload_PPC;
ppInstr = (void(*)(HInstr*, Bool)) ppPPCInstr;
ppReg = (void(*)(HReg)) ppHRegPPC;
iselSB = iselSB_PPC;
@@ -316,18 +322,18 @@
break;
case VexArchARM:
- mode64 = False;
+ mode64 = False;
getAllocableRegs_ARM ( &n_available_real_regs,
&available_real_regs );
- isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_ARMInstr;
- getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool)) getRegUsage_ARMInstr;
- mapRegs = (void(*)(HRegRemap*,HInstr*, Bool)) mapRegs_ARMInstr;
- genSpill = (HInstr*(*)(HReg,Int, Bool)) genSpill_ARM;
- genReload = (HInstr*(*)(HReg,Int, Bool)) genReload_ARM;
- ppInstr = (void(*)(HInstr*, Bool)) ppARMInstr;
- ppReg = (void(*)(HReg)) ppHRegARM;
- iselSB = iselSB_ARM;
- emit = (Int(*)(UChar*,Int,HInstr*,Bool,void*)) emit_ARMInstr;
+ isMove = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_ARMInstr;
+ getRegUsage = (void(*)(HRegUsage*,HInstr*, Bool)) getRegUsage_ARMInstr;
+ mapRegs = (void(*)(HRegRemap*,HInstr*, Bool)) mapRegs_ARMInstr;
+ genSpill = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genSpill_ARM;
+ genReload = (void(*)(HInstr**,HInstr**,HReg,Int,Bool)) genReload_ARM;
+ ppInstr = (void(*)(HInstr*, Bool)) ppARMInstr;
+ ppReg = (void(*)(HReg)) ppHRegARM;
+ iselSB = iselSB_ARM;
+ emit = (Int(*)(UChar*,Int,HInstr*,Bool,void*)) emit_ARMInstr;
host_is_bigendian = False;
host_word_type = Ity_I32;
vassert(are_valid_hwcaps(VexArchARM, vta->archinfo_host.hwcaps));
|
|
From: <sv...@va...> - 2009-12-31 19:24:27
|
Author: sewardj
Date: 2009-12-31 19:24:12 +0000 (Thu, 31 Dec 2009)
New Revision: 10980
Log:
Track changes in the names of a few IR primops to do with int<->fp
conversions, as introduced in vex r1949.
Modified:
trunk/exp-ptrcheck/h_main.c
trunk/memcheck/mc_translate.c
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2009-12-31 13:31:50 UTC (rev 10979)
+++ trunk/exp-ptrcheck/h_main.c 2009-12-31 19:24:12 UTC (rev 10980)
@@ -4141,19 +4141,19 @@
/* FIXME: for Shl/Shr/Sar, really should do a test on the 2nd
arg, so that shift by zero preserves the original
value. */
- case Iop_Shl32: goto n32;
- case Iop_Sar32: goto n32;
- case Iop_Shr32: goto n32;
- case Iop_16Uto32: goto n32;
- case Iop_16Sto32: goto n32;
- case Iop_F64toI32: goto n32;
- case Iop_16HLto32: goto n32;
- case Iop_MullS16: goto n32;
- case Iop_MullU16: goto n32;
+ case Iop_Shl32: goto n32;
+ case Iop_Sar32: goto n32;
+ case Iop_Shr32: goto n32;
+ case Iop_16Uto32: goto n32;
+ case Iop_16Sto32: goto n32;
+ case Iop_F64toI32S: goto n32;
+ case Iop_16HLto32: goto n32;
+ case Iop_MullS16: goto n32;
+ case Iop_MullU16: goto n32;
case Iop_PRemC3210F64: goto n32;
- case Iop_DivU32: goto n32;
- case Iop_DivS32: goto n32;
- case Iop_V128to32: goto n32;
+ case Iop_DivU32: goto n32;
+ case Iop_DivS32: goto n32;
+ case Iop_V128to32: goto n32;
/* cases where result range is very limited and clearly cannot
be a pointer */
@@ -4256,7 +4256,7 @@
case Iop_32HLto64: goto n64;
case Iop_DivModU64to32: goto n64;
case Iop_DivModS64to32: goto n64;
- case Iop_F64toI64: goto n64;
+ case Iop_F64toI64S: goto n64;
case Iop_MullS32: goto n64;
case Iop_MullU32: goto n64;
case Iop_DivU64: goto n64;
Modified: trunk/memcheck/mc_translate.c
===================================================================
--- trunk/memcheck/mc_translate.c 2009-12-31 13:31:50 UTC (rev 10979)
+++ trunk/memcheck/mc_translate.c 2009-12-31 19:24:12 UTC (rev 10980)
@@ -2398,8 +2398,8 @@
case Iop_RoundF64toInt:
case Iop_RoundF64toF32:
- case Iop_F64toI64:
- case Iop_I64toF64:
+ case Iop_F64toI64S:
+ case Iop_I64StoF64:
case Iop_SinF64:
case Iop_CosF64:
case Iop_TanF64:
@@ -2408,12 +2408,12 @@
/* I32(rm) x I64/F64 -> I64/F64 */
return mkLazy2(mce, Ity_I64, vatom1, vatom2);
- case Iop_F64toI32:
+ case Iop_F64toI32S:
case Iop_F64toF32:
/* First arg is I32 (rounding mode), second is F64 (data). */
return mkLazy2(mce, Ity_I32, vatom1, vatom2);
- case Iop_F64toI16:
+ case Iop_F64toI16S:
/* First arg is I32 (rounding mode), second is F64 (data). */
return mkLazy2(mce, Ity_I16, vatom1, vatom2);
@@ -2666,7 +2666,7 @@
return assignNew('V', mce, Ity_V128, unop(op, vatom));
case Iop_F32toF64:
- case Iop_I32toF64:
+ case Iop_I32StoF64:
case Iop_NegF64:
case Iop_AbsF64:
case Iop_Est5FRSqrt:
|
|
From: <sv...@va...> - 2009-12-31 18:00:35
|
Author: sewardj Date: 2009-12-31 18:00:12 +0000 (Thu, 31 Dec 2009) New Revision: 1949 Log: Merge r1925:1948 from branches/ARM. This temporarily breaks all other targets, because a few IR primops to do with int<->float conversions have been renamed, and because an internal interface for creating spill/reload instructions has changed. Modified: trunk/Makefile-gcc trunk/auxprogs/genoffsets.c trunk/priv/guest_amd64_toIR.c trunk/priv/guest_arm_defs.h trunk/priv/guest_arm_helpers.c trunk/priv/guest_arm_toIR.c trunk/priv/guest_ppc_toIR.c trunk/priv/guest_x86_toIR.c trunk/priv/host_amd64_isel.c trunk/priv/host_arm_defs.c trunk/priv/host_arm_defs.h trunk/priv/host_arm_isel.c trunk/priv/host_generic_reg_alloc2.c trunk/priv/host_generic_regs.c trunk/priv/host_generic_regs.h trunk/priv/host_ppc_isel.c trunk/priv/host_x86_isel.c trunk/priv/ir_defs.c trunk/priv/ir_opt.c trunk/priv/main_main.c trunk/pub/libvex_basictypes.h trunk/pub/libvex_guest_arm.h trunk/pub/libvex_ir.h [... diff too large to include ...] |
|
From: Bart V. A. <bar...@gm...> - 2009-12-31 13:58:15
|
On Thu, Dec 31, 2009 at 1:38 PM, Julian Seward <js...@ac...> wrote: > > I must say I don't think this is a good idea. For one thing > it now requires us to #include config.h everywhere we need it, > whereas before, inclusion of pub_tool_basics.h was enough. > This for example causes Memcheck to not start up on openSUSE > 11.0 x86_64, since the GLIBC_2_x symbols are no longer visible > in m_redir.c. > > More seriously, it means that the installation tree (still) > lacks a config.h which matches/describes how the installed > libraries and executables were built. Perhaps a better solution > would be to revert this and to install config.h too. Sorry Julian, but I disagree completely with the above. Not including the header file "config.h" when symbols defined in that header file are necessary is a bad programming practice in my opinion. Also, including "config.h" from a public header file like pub_tool_basics.h is completely wrong because this makes it impossible for external projects that include the Valgrind public header files to have a header file with the same name, namely "config.h". Furthermore, exposing all symbols defined in Valgrind's "config.h" to external projects would create a high probability of symbol collisions / redefinitions, e.g. the HAVE_* macro's. If we really have to expose some of the symbols defined during Valgrind's configure process, we should do like Stefan Kost proposed and let the configure process transform a file valgrind_config.h.in to valgrind_config.h. That would allow us to export a minimum set of symbols from Valgrind to external projects instead of all symbols defined during the configure step. Bart. |
|
From: <sv...@va...> - 2009-12-31 13:49:47
|
Author: bart
Date: 2009-12-31 13:31:11 +0000 (Thu, 31 Dec 2009)
New Revision: 10978
Log:
Follow-up for r10972: added missing #include "config.h".
Modified:
trunk/coregrind/m_redir.c
Modified: trunk/coregrind/m_redir.c
===================================================================
--- trunk/coregrind/m_redir.c 2009-12-30 20:28:24 UTC (rev 10977)
+++ trunk/coregrind/m_redir.c 2009-12-31 13:31:11 UTC (rev 10978)
@@ -50,7 +50,9 @@
#include "pub_core_clientstate.h" // VG_(client___libc_freeres_wrapper)
#include "pub_core_demangle.h" // VG_(maybe_Z_demangle)
+#include "config.h" /* GLIBC_2_* */
+
/* This module is a critical part of the redirection/intercept system.
It keeps track of the current intercept state, cleans up the
translation caches when that state changes, and finally, answers
|
|
From: <sv...@va...> - 2009-12-31 13:49:45
|
Author: sewardj
Date: 2009-12-31 13:31:50 +0000 (Thu, 31 Dec 2009)
New Revision: 10979
Log:
Some fixes, to allow memcheck and 'none' tests to build on arm-linux.
Modified:
branches/ARM/memcheck/tests/atomic_incs.c
branches/ARM/tests/arch_test.c
Modified: branches/ARM/memcheck/tests/atomic_incs.c
===================================================================
--- branches/ARM/memcheck/tests/atomic_incs.c 2009-12-31 13:31:11 UTC (rev 10978)
+++ branches/ARM/memcheck/tests/atomic_incs.c 2009-12-31 13:31:50 UTC (rev 10979)
@@ -42,7 +42,7 @@
);
#elif defined(VGA_ppc32)
/* Nasty hack. Does correctly atomically do *p += n, but only if p
- is 8-aligned -- guaranteed by caller. */
+ is 4-aligned -- guaranteed by caller. */
unsigned long success;
do {
__asm__ __volatile__(
@@ -74,6 +74,8 @@
: /*trash*/ "memory", "cc", "r15"
);
} while (success != 1);
+#elif defined(VGA_arm)
+ *p += n;
#else
# error "Unsupported arch"
#endif
@@ -136,6 +138,8 @@
: /*trash*/ "memory", "cc", "r15"
);
} while (success != 1);
+#elif defined(VGA_arm)
+ *p += n;
#else
# error "Unsupported arch"
#endif
@@ -195,6 +199,8 @@
: /*trash*/ "memory", "cc", "r15"
);
} while (success != 1);
+#elif defined(VGA_arm)
+ *p += n;
#else
# error "Unsupported arch"
#endif
@@ -202,7 +208,7 @@
__attribute__((noinline)) void atomic_add_64bit ( long long int* p, int n )
{
-#if defined(VGA_x86) || defined(VGA_ppc32)
+#if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_arm)
/* do nothing; is not supported */
#elif defined(VGA_amd64)
// this is a bit subtle. It relies on the fact that, on a 64-bit platform,
Modified: branches/ARM/tests/arch_test.c
===================================================================
--- branches/ARM/tests/arch_test.c 2009-12-31 13:31:11 UTC (rev 10978)
+++ branches/ARM/tests/arch_test.c 2009-12-31 13:31:50 UTC (rev 10979)
@@ -55,6 +55,9 @@
if ( 0 == strcmp( arch, "ppc32" ) ) return True;
}
+#elif defined(VGP_arm_linux)
+ if ( 0 == strcmp( arch, "arm" ) ) return True;
+
#else
# error Unknown platform
#endif // VGP_*
|
|
From: Julian S. <js...@ac...> - 2009-12-31 13:06:59
|
I must say I don't think this is a good idea. For one thing it now requires us to #include config.h everywhere we need it, whereas before, inclusion of pub_tool_basics.h was enough. This for example causes Memcheck to not start up on openSUSE 11.0 x86_64, since the GLIBC_2_x symbols are no longer visible in m_redir.c. More seriously, it means that the installation tree (still) lacks a config.h which matches/describes how the installed libraries and executables were built. Perhaps a better solution would be to revert this and to install config.h too. J On Tuesday 29 December 2009, sv...@va... wrote: > Author: bart > Date: 2009-12-29 16:56:18 +0000 (Tue, 29 Dec 2009) > New Revision: 10972 > > Log: > Removed dependency of include/pub_tool_basics.h on config.h. > > > Modified: > trunk/configure.in > trunk/coregrind/m_aspacemgr/aspacemgr-common.c > trunk/coregrind/m_aspacemgr/aspacemgr-linux.c > trunk/coregrind/m_syswrap/syswrap-generic.c > trunk/helgrind/hg_intercepts.c > trunk/include/pub_tool_basics.h > > > Modified: trunk/configure.in > =================================================================== > --- trunk/configure.in 2009-12-29 15:08:14 UTC (rev 10971) > +++ trunk/configure.in 2009-12-29 16:56:18 UTC (rev 10972) > @@ -1378,24 +1378,6 @@ > CFLAGS=$safe_CFLAGS > > > -# does this compiler support __builtin_expect? > -AC_MSG_CHECKING([if gcc supports __builtin_expect]) > - > -AC_TRY_LINK(, [ > -return __builtin_expect(1, 1) ? 1 : 0 > -], > -[ > -ac_have_builtin_expect=yes > -AC_MSG_RESULT([yes]) > -], [ > -ac_have_builtin_expect=no > -AC_MSG_RESULT([no]) > -]) > -if test x$ac_have_builtin_expect = xyes ; then > - AC_DEFINE(HAVE_BUILTIN_EXPECT, 1, [Define to 1 if gcc supports > __builtin_expect.]) -fi > - > - > # does the ppc assembler support "mtocrf" et al? > AC_MSG_CHECKING([if ppc32/64 as supports mtocrf/mfocrf]) > > > Modified: trunk/coregrind/m_aspacemgr/aspacemgr-common.c > =================================================================== > --- trunk/coregrind/m_aspacemgr/aspacemgr-common.c 2009-12-29 15:08:14 UTC > (rev 10971) +++ trunk/coregrind/m_aspacemgr/aspacemgr-common.c 2009-12-29 > 16:56:18 UTC (rev 10972) @@ -37,6 +37,7 @@ > ************************************************************* */ > > #include "priv_aspacemgr.h" > +#include "config.h" > > > /*-----------------------------------------------------------------*/ > > Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c > =================================================================== > --- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-12-29 15:08:14 UTC > (rev 10971) +++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-12-29 > 16:56:18 UTC (rev 10972) @@ -40,6 +40,7 @@ > ************************************************************* */ > > #include "priv_aspacemgr.h" > +#include "config.h" > > > /* Note: many of the exported functions implemented below are > > Modified: trunk/coregrind/m_syswrap/syswrap-generic.c > =================================================================== > --- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-12-29 15:08:14 UTC > (rev 10971) +++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-12-29 > 16:56:18 UTC (rev 10972) @@ -62,7 +62,9 @@ > #include "priv_types_n_macros.h" > #include "priv_syswrap-generic.h" > > +#include "config.h" > > + > /* Returns True iff address range is something the client can > plausibly mess with: all of it is either already belongs to the > client or is free or a reservation. */ > > Modified: trunk/helgrind/hg_intercepts.c > =================================================================== > --- trunk/helgrind/hg_intercepts.c 2009-12-29 15:08:14 UTC (rev 10971) > +++ trunk/helgrind/hg_intercepts.c 2009-12-29 16:56:18 UTC (rev 10972) > @@ -56,6 +56,7 @@ > #include "pub_tool_redir.h" > #include "valgrind.h" > #include "helgrind.h" > +#include "config.h" > > #define TRACE_PTH_FNS 0 > #define TRACE_QT4_FNS 0 > > Modified: trunk/include/pub_tool_basics.h > =================================================================== > --- trunk/include/pub_tool_basics.h 2009-12-29 15:08:14 UTC (rev 10971) > +++ trunk/include/pub_tool_basics.h 2009-12-29 16:56:18 UTC (rev 10972) > @@ -49,10 +49,7 @@ > // For varargs types > #include <stdarg.h> > > -/* For HAVE_BUILTIN_EXPECT */ > -#include "config.h" > > - > /* --------------------------------------------------------------------- > symbol prefixing > ------------------------------------------------------------------ */ > @@ -318,7 +315,7 @@ > #define VG_BUGS_TO "www.valgrind.org" > > /* Branch prediction hints. */ > -#if HAVE_BUILTIN_EXPECT > +#if 1 /*HAVE_BUILTIN_EXPECT*/ > # define LIKELY(x) __builtin_expect(!!(x), 1) > # define UNLIKELY(x) __builtin_expect((x), 0) > #else > > > --------------------------------------------------------------------------- >--- This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Julian S. <js...@ac...> - 2009-12-31 13:06:50
|
On Tuesday 29 December 2009, sv...@va... wrote: > Author: bart > Date: 2009-12-29 14:11:38 +0000 (Tue, 29 Dec 2009) > New Revision: 10970 > > Log: > Changes: > - Made sure that C++ compilers do not complain about the header files > include/pub_tool_libcassert.h and include/pub_tool_basics.h. > - Added the source file none/tests/valgrind_cpp_test.cpp. This source file > is compiled together with the regression tests in order to verify that > Valgrind's public header files compile cleanly with a C++ compiler. > These modifications are based on a patch provided by Konstantin Serebryany. > [...] > Property changes on: trunk/none/tests > ___________________________________________________________________ > Name: svn:ignore > - *.dSYM > *.so > [... lots more files ...] Please could you do such commits separately in future? Updating the ignore list is fine, but it's not logically part of this commit. J |
|
From: Bart V. A. <bar...@gm...> - 2009-12-31 08:27:59
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-12-31 02:00:05 EST Ended at 2009-12-31 03:27:45 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-31 03:48:58
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-12-31 03:05:05 GMT Ended at 2009-12-31 03:48:45 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-31 03:36:09
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-12-31 03:10:07 GMT Ended at 2009-12-31 03:35:54 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 538 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/pth_spinlock (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Dec 31 03:23:17 2009 --- new.short Thu Dec 31 03:35:54 2009 *************** *** 8,12 **** ! == 538 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) - helgrind/tests/pth_spinlock (stderr) helgrind/tests/tc06_two_races_xml (stderr) --- 8,11 ---- ! == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |