* [ANNOUNCE] Sparse v0.6.4
@ 2021-09-06 4:21 Luc Van Oostenryck
2021-09-06 10:04 ` Ben Dooks
2021-09-28 19:56 ` Uwe Kleine-König
0 siblings, 2 replies; 8+ messages in thread
From: Luc Van Oostenryck @ 2021-09-06 4:21 UTC (permalink / raw)
To: linux-sparse; +Cc: Jeff Layton, Uwe Kleine-König
Sparse v0.6.4 is now out.
The source code can be found at its usual repository:
git://git.kernel.org/pub/scm/devel/sparse/sparse.git v0.6.4
The tarballs can be found at:
https://www.kernel.org/pub/software/devel/sparse/dist/
Many thanks to people who have somehow contributed to the 299
patches of this release:
Ramsay Jones, Linus Torvalds, Kyle Russell
Release notes for v0.6.4
------------------------
Changes since v0.6.4-rc1:
* none
Fixes:
* build: fix version.h dependencies
* fix and complete the evaluation of atomic builtins
* fix some testcases related to bitfield manipulation
* llvm: fix crash with llvm-11 / use real phi-nodes
* fix: OP_INLINE should not use the function symbol
* fix testing if a OP_CALL's function is pure
* warn on all missing parameter types
* fix init_linearized_builtins()
* fix usage count in linearize_fma()
* linearize: fix a couple of 'selfcheck' warnings
* cfg: remove phi-sources when merging BBs
* cfg: remove phi-nodes when merging BBs
* cfg: add missing REPEAT_CFG_CLEANUP
* fix: rebuild dominance tree during CFG cleanup
* fix: drop qualifiers of casts and comma or statement expressions
* fix kill_insn(OP_SETVAL)
* fix trivial_phi() when the target is before the single value
* memops: fix wrong killing of stores partially dominated by a load
* memops: kill dead loads before phi-node conversion
* memops: kill more dead stores
* fix rem_usage() when the pseudo has a use list but is not PSEUDO_REG
* shut up a silly -Wmaybe-uninitialized warning
* fix add_join_conditional() when one of the alternative is VOID
* asm: fix killing OP_ASM
* asm: fix a test failure on 32-bit systems
* asm: output *memory* operands need their address as *input*
* asm: teach dominates() about OP_ASM
* fix the type in the assignment of 0 to a restricted variable
* fix SSA conversion of mismatched memops
* fix and improve the check that protects try_to_simplify_bb()
* fix remove_merging_phisrc() with duplicated CFG edges.
* fix null-pointer crash with with ident same as one of the attributes
New:
* improve CFG simplification
* teach sparse about -funsigned-bitfields
* add a symbolic checker
* expand __builtin_object_size()
* let plain bitfields default to signed
* add support for __packed struct
* handle qualified anonymous structures
* move check_access() to late_warnings()
* let phi-sources to directly access to their phi-node
* small improvements to the ptrlist API
* warn when taking the address of a built-in function
* handle more graciously labels with no statement
* give an explicit type to compare's operands
* give a type to OP_SYMADDR
* add some notes about pseudos being typeless
* shrink struct basic_block
* pre-proc: strip leading "./" from include paths
* pre-proc: do some path normalization
* linearize __builtin_isdigit()
IR Simplifications:
* simplify: essential OP_ADD & OP_SUB simplifications
* simplify and canonicalize unsigned compares
* simplify: basic unop simplifications
* simplify SEL(SEL(...), ...)
* simplify SEL(x == y, x, y) and friends
* simplify SEL(x, x, x) and SEL(x, 0, x)
* simplify & canonicalize compares
* simplify CBR-CBR on the same condition
* simplify unrestricted postop
* simplification of computed gotos with 1 or 2 targets
* simplify kill_insn() of unops and unop-ish instructions
* simplify: put PSEUDO_ARGS and PSEUDO_REGs in canonical order too
* simplify (~x {&,|,^} x) --> {0,~0,~0}
* simplify ((x cmp y) {&,|,^} (x !cmp y)) --> {0,1,1}
* simplify LSR + SEXT into ASR
* simplify and canonicalize signed compares
* simplify CMP(AND(x,M), C) and CMP(OR(x,M), C)
* simplify AND(x >= 0, x < C) --> (unsigned)x < C
* simplify TRUNC(x) {==,!=} C --> AND(x,M) {==,!=} C
* simplify of TRUNC(NOT(x)) --> NOT(TRUNC(x))
* factorize (x OP1 z) OP2 (y OP1 z) into (x OP2 y) OP1 z
* factorize SHIFT(x, s) OP SHIFT(y, s) into SHIFT((x OP y), s)
* factorize SEL(x, OP(y,z), y) into OP(SEL(x, z, 0), y)
* convert SEL(x & BIT1, BIT2, 0) into SHIFT(x & BIT1, S)
* canonicalize ((x & M) == M) --> ((x & M) != 0) when M is a power-of-2
Testsuite:
* testsuite: add new tags: check-output-{match,returns}
* testsuite: fix parsing of tags used in the testcases
* testsuite: add option '-r' to 'test-suite format'
Documentation:
* doc: fix: Sphinx's option ':noindex:' renamed into ':noindexentry:'
* doc: fix extracted autodoc when short description ends with a '?'
* doc: add some doc about using NULL or VOID in pointer lists
* doc: add some doc to flowgraph.h
* doc: extract doc related to simplification
Cleanups:
* slice: small reorg of OP_SLICE in preparation for some incoming changes
* cleanup: removed an unused parameter for show_symbol_list()
* cleanup linearize_cond_branch()
* cleanup: remove unneeded REPEAT_SYMBOL_CLEANUP
* cleanup: no needs to use MARK_CURRENT_DELETED() for multi-jumps
* linearize: remove unneeded forward declarations
* linearize: only allocate call instructions when needed
-- Luc Van Oostenryck
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-06 4:21 [ANNOUNCE] Sparse v0.6.4 Luc Van Oostenryck
@ 2021-09-06 10:04 ` Ben Dooks
2021-09-07 6:29 ` Luc Van Oostenryck
2021-09-28 19:56 ` Uwe Kleine-König
1 sibling, 1 reply; 8+ messages in thread
From: Ben Dooks @ 2021-09-06 10:04 UTC (permalink / raw)
To: Luc Van Oostenryck, linux-sparse; +Cc: Jeff Layton, Uwe Kleine-König
On 06/09/2021 05:21, Luc Van Oostenryck wrote:
> Sparse v0.6.4 is now out.
>
> The source code can be found at its usual repository:
> git://git.kernel.org/pub/scm/devel/sparse/sparse.git v0.6.4
>
> The tarballs can be found at:
> https://www.kernel.org/pub/software/devel/sparse/dist/
>
> Many thanks to people who have somehow contributed to the 299
> patches of this release:
> Ramsay Jones, Linus Torvalds, Kyle Russell
This has reminded me I have lost track of the printf formatting
changes. Is it possible to re-sync and work out what still needs
to be done to get this work merged?
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-06 10:04 ` Ben Dooks
@ 2021-09-07 6:29 ` Luc Van Oostenryck
2021-09-28 21:05 ` Ben Dooks
0 siblings, 1 reply; 8+ messages in thread
From: Luc Van Oostenryck @ 2021-09-07 6:29 UTC (permalink / raw)
To: Ben Dooks; +Cc: linux-sparse, Jeff Layton, Uwe Kleine-König
On Mon, Sep 06, 2021 at 11:04:14AM +0100, Ben Dooks wrote:
> On 06/09/2021 05:21, Luc Van Oostenryck wrote:
> > Sparse v0.6.4 is now out.
> >
> > The source code can be found at its usual repository:
> > git://git.kernel.org/pub/scm/devel/sparse/sparse.git v0.6.4
> >
> > The tarballs can be found at:
> > https://www.kernel.org/pub/software/devel/sparse/dist/
> >
> > Many thanks to people who have somehow contributed to the 299
> > patches of this release:
> > Ramsay Jones, Linus Torvalds, Kyle Russell
>
> This has reminded me I have lost track of the printf formatting
> changes. Is it possible to re-sync and work out what still needs
> to be done to get this work merged?
Sure, the series can be merged with just a few trival conflicts.
I think things were left at
https://lore.kernel.org/linux-sparse/20201013232231.10349-1-luc.vanoostenryck@gmail.com/T/#ma187dd3978640fccac03c0194fd5bdd84c437721
but the series is now at:
git://github.com/lucvoo/sparse-dev.git format-check
Are these patches fine for you?
-- Luc
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-07 6:29 ` Luc Van Oostenryck
@ 2021-09-28 21:05 ` Ben Dooks
0 siblings, 0 replies; 8+ messages in thread
From: Ben Dooks @ 2021-09-28 21:05 UTC (permalink / raw)
To: Luc Van Oostenryck; +Cc: linux-sparse, Jeff Layton, Uwe Kleine-König
On 07/09/2021 07:29, Luc Van Oostenryck wrote:
> On Mon, Sep 06, 2021 at 11:04:14AM +0100, Ben Dooks wrote:
>> On 06/09/2021 05:21, Luc Van Oostenryck wrote:
>>> Sparse v0.6.4 is now out.
>>>
>>> The source code can be found at its usual repository:
>>> git://git.kernel.org/pub/scm/devel/sparse/sparse.git v0.6.4
>>>
>>> The tarballs can be found at:
>>> https://www.kernel.org/pub/software/devel/sparse/dist/
>>>
>>> Many thanks to people who have somehow contributed to the 299
>>> patches of this release:
>>> Ramsay Jones, Linus Torvalds, Kyle Russell
>>
>> This has reminded me I have lost track of the printf formatting
>> changes. Is it possible to re-sync and work out what still needs
>> to be done to get this work merged?
>
> Sure, the series can be merged with just a few trival conflicts.
>
> I think things were left at
> https://lore.kernel.org/linux-sparse/20201013232231.10349-1-luc.vanoostenryck@gmail.com/T/#ma187dd3978640fccac03c0194fd5bdd84c437721
>
> but the series is now at:
> git://github.com/lucvoo/sparse-dev.git format-check
>
> Are these patches fine for you?
This got lost in a pile of email, sorry.
I'll have a quick look this week.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-06 4:21 [ANNOUNCE] Sparse v0.6.4 Luc Van Oostenryck
2021-09-06 10:04 ` Ben Dooks
@ 2021-09-28 19:56 ` Uwe Kleine-König
2021-09-28 22:43 ` Ramsay Jones
1 sibling, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2021-09-28 19:56 UTC (permalink / raw)
To: Luc Van Oostenryck, linux-sparse; +Cc: Jeff Layton
[-- Attachment #1.1: Type: text/plain, Size: 396 bytes --]
Hi Luc,
On 9/6/21 6:21 AM, Luc Van Oostenryck wrote:
> Sparse v0.6.4 is now out.
I finally came around to update the Debian packaging. There is just a
(non-critical) problem on x32 where some tests fail. I didn't look
deeply, but if you care, now you know :-)
https://buildd.debian.org/status/fetch.php?pkg=sparse&arch=x32&ver=0.6.4-1&stamp=1632795062&raw=0
Best regards
Uwe
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-28 19:56 ` Uwe Kleine-König
@ 2021-09-28 22:43 ` Ramsay Jones
2021-09-29 6:54 ` Uwe Kleine-König
0 siblings, 1 reply; 8+ messages in thread
From: Ramsay Jones @ 2021-09-28 22:43 UTC (permalink / raw)
To: Uwe Kleine-König, Luc Van Oostenryck, linux-sparse; +Cc: Jeff Layton
On 28/09/2021 20:56, Uwe Kleine-König wrote:
> Hi Luc,
>
> On 9/6/21 6:21 AM, Luc Van Oostenryck wrote:
>> Sparse v0.6.4 is now out.
>
> I finally came around to update the Debian packaging. There is just a (non-critical) problem on x32 where some tests fail. I didn't look deeply, but if you care, now you know :-)
>
> https://buildd.debian.org/status/fetch.php?pkg=sparse&arch=x32&ver=0.6.4-1&stamp=1632795062&raw=0
Hmm, interesting. I tested on Linux Mint 19 32-bit and didn't see any
failures. As far as I can tell, only the 'validation/builtin-objsize0.c'
test is failing (squinting hard at the above!).
Unfortunately, I can't test again tonight, but I will try and take a look
at it tomorrow.
ATB,
Ramsay Jones
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-28 22:43 ` Ramsay Jones
@ 2021-09-29 6:54 ` Uwe Kleine-König
2021-09-29 21:35 ` Ramsay Jones
0 siblings, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2021-09-29 6:54 UTC (permalink / raw)
To: Ramsay Jones, Luc Van Oostenryck, linux-sparse; +Cc: Jeff Layton
[-- Attachment #1.1: Type: text/plain, Size: 919 bytes --]
Hello,
On 9/29/21 12:43 AM, Ramsay Jones wrote:
> On 28/09/2021 20:56, Uwe Kleine-König wrote:
>> On 9/6/21 6:21 AM, Luc Van Oostenryck wrote:
>>> Sparse v0.6.4 is now out.
>>
>> I finally came around to update the Debian packaging. There is just a (non-critical) problem on x32 where some tests fail. I didn't look deeply, but if you care, now you know :-)
>>
>> https://buildd.debian.org/status/fetch.php?pkg=sparse&arch=x32&ver=0.6.4-1&stamp=1632795062&raw=0
>
> Hmm, interesting. I tested on Linux Mint 19 32-bit and didn't see any
> failures. As far as I can tell, only the 'validation/builtin-objsize0.c'
> test is failing (squinting hard at the above!).
Note that the "normal" 32-bit build was just fine[1]. It's "only" x32[2]
that is affected.
Best regards
Uwe
[1] See https://buildd.debian.org/status/package.php?p=sparse for the
overview.
[2] https://wiki.debian.org/X32Port
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCE] Sparse v0.6.4
2021-09-29 6:54 ` Uwe Kleine-König
@ 2021-09-29 21:35 ` Ramsay Jones
0 siblings, 0 replies; 8+ messages in thread
From: Ramsay Jones @ 2021-09-29 21:35 UTC (permalink / raw)
To: Uwe Kleine-König, Luc Van Oostenryck, linux-sparse; +Cc: Jeff Layton
On 29/09/2021 07:54, Uwe Kleine-König wrote:
> Hello,
>
> On 9/29/21 12:43 AM, Ramsay Jones wrote:
>> On 28/09/2021 20:56, Uwe Kleine-König wrote:
>>> On 9/6/21 6:21 AM, Luc Van Oostenryck wrote:
>>>> Sparse v0.6.4 is now out.
>>>
>>> I finally came around to update the Debian packaging. There is just a (non-critical) problem on x32 where some tests fail. I didn't look deeply, but if you care, now you know :-)
>>>
>>> https://buildd.debian.org/status/fetch.php?pkg=sparse&arch=x32&ver=0.6.4-1&stamp=1632795062&raw=0
>>
>> Hmm, interesting. I tested on Linux Mint 19 32-bit and didn't see any
>> failures. As far as I can tell, only the 'validation/builtin-objsize0.c'
>> test is failing (squinting hard at the above!).
>
> Note that the "normal" 32-bit build was just fine[1]. It's "only" x32[2] that is affected.
Ah, I missed that small detail. :)
Thanks for putting me right (before booting up my 32-bit system).
ATB,
Ramsay Jones
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-09-29 21:35 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-06 4:21 [ANNOUNCE] Sparse v0.6.4 Luc Van Oostenryck
2021-09-06 10:04 ` Ben Dooks
2021-09-07 6:29 ` Luc Van Oostenryck
2021-09-28 21:05 ` Ben Dooks
2021-09-28 19:56 ` Uwe Kleine-König
2021-09-28 22:43 ` Ramsay Jones
2021-09-29 6:54 ` Uwe Kleine-König
2021-09-29 21:35 ` Ramsay Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).