Skip to content

Commit cf144c9

Browse files
committed
Add release notes for incoming v0.6.4
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
1 parent f0e6938 commit cf144c9

File tree

2 files changed

+106
-0
lines changed

2 files changed

+106
-0
lines changed

‎Documentation/release-notes/index.rst‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Release Notes
55
.. toctree::
66
:maxdepth: 1
77

8+
v0.6.4
89
v0.6.3
910
v0.6.2
1011
v0.6.1
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
v0.6.4-rc1 (2020-09-01)
2+
=======================
3+
4+
Fixes:
5+
* build: fix version.h dependencies
6+
* fix and complete the evaluation of atomic builtins
7+
* fix some testcases related to bitfield manipulation
8+
* llvm: fix crash with llvm-11 / use real phi-nodes
9+
* fix: OP_INLINE should not use the function symbol
10+
* fix testing if a OP_CALL's function is pure
11+
* warn on all missing parameter types
12+
* fix init_linearized_builtins()
13+
* fix usage count in linearize_fma()
14+
* linearize: fix a couple of 'selfcheck' warnings
15+
* cfg: remove phi-sources when merging BBs
16+
* cfg: remove phi-nodes when merging BBs
17+
* cfg: add missing REPEAT_CFG_CLEANUP
18+
* fix: rebuild dominance tree during CFG cleanup
19+
* fix: drop qualifiers of casts and comma or statement expressions
20+
* fix kill_insn(OP_SETVAL)
21+
* fix trivial_phi() when the target is before the single value
22+
* memops: fix wrong killing of stores partially dominated by a load
23+
* memops: kill dead loads before phi-node conversion
24+
* memops: kill more dead stores
25+
* fix rem_usage() when the pseudo has a use list but is not PSEUDO_REG
26+
* shut up a silly -Wmaybe-uninitialized warning
27+
* fix add_join_conditional() when one of the alternative is VOID
28+
* asm: fix killing OP_ASM
29+
* asm: fix a test failure on 32-bit systems
30+
* asm: output *memory* operands need their address as *input*
31+
* asm: teach dominates() about OP_ASM
32+
* fix the type in the assignment of 0 to a restricted variable
33+
* fix SSA conversion of mismatched memops
34+
* fix and improve the check that protects try_to_simplify_bb()
35+
* fix remove_merging_phisrc() with duplicated CFG edges.
36+
* fix null-pointer crash with with ident same as one of the attributes
37+
38+
New:
39+
* improve CFG simplification
40+
* teach sparse about -funsigned-bitfields
41+
* add a symbolic checker
42+
* expand __builtin_object_size()
43+
* let plain bitfields default to signed
44+
* add support for __packed struct
45+
* handle qualified anonymous structures
46+
* move check_access() to late_warnings()
47+
* let phi-sources to directly access to their phi-node
48+
* small improvements to the ptrlist API
49+
* warn when taking the address of a built-in function
50+
* handle more graciously labels with no statement
51+
* give an explicit type to compare's operands
52+
* give a type to OP_SYMADDR
53+
* add some notes about pseudos being typeless
54+
* shrink struct basic_block
55+
* pre-proc: strip leading "./" from include paths
56+
* pre-proc: do some path normalization
57+
* linearize __builtin_isdigit()
58+
59+
IR Simplifications:
60+
* simplify: essential OP_ADD & OP_SUB simplifications
61+
* simplify and canonicalize unsigned compares
62+
* simplify: basic unop simplifications
63+
* simplify SEL(SEL(...), ...)
64+
* simplify SEL(x == y, x, y) and friends
65+
* simplify SEL(x, x, x) and SEL(x, 0, x)
66+
* simplify & canonicalize compares
67+
* simplify CBR-CBR on the same condition
68+
* simplify unrestricted postop
69+
* simplification of computed gotos with 1 or 2 targets
70+
* simplify kill_insn() of unops and unop-ish instructions
71+
* simplify: put PSEUDO_ARGS and PSEUDO_REGs in canonical order too
72+
* simplify (~x {&,|,^} x) --> {0,~0,~0}
73+
* simplify ((x cmp y) {&,|,^} (x !cmp y)) --> {0,1,1}
74+
* simplify LSR + SEXT into ASR
75+
* simplify and canonicalize signed compares
76+
* simplify CMP(AND(x,M), C) and CMP(OR(x,M), C)
77+
* simplify AND(x >= 0, x < C) --> (unsigned)x < C
78+
* simplify TRUNC(x) {==,!=} C --> AND(x,M) {==,!=} C
79+
* simplify of TRUNC(NOT(x)) --> NOT(TRUNC(x))
80+
* factorize (x OP1 z) OP2 (y OP1 z) into (x OP2 y) OP1 z
81+
* factorize SHIFT(x, s) OP SHIFT(y, s) into SHIFT((x OP y), s)
82+
* factorize SEL(x, OP(y,z), y) into OP(SEL(x, z, 0), y)
83+
* convert SEL(x & BIT1, BIT2, 0) into SHIFT(x & BIT1, S)
84+
* canonicalize ((x & M) == M) --> ((x & M) != 0) when M is a power-of-2
85+
86+
Testsuite:
87+
* testsuite: add new tags: check-output-{match,returns}
88+
* testsuite: fix parsing of tags used in the testcases
89+
* testsuite: add option '-r' to 'test-suite format'
90+
91+
Documentation:
92+
* doc: fix: Sphinx's option ':noindex:' renamed into ':noindexentry:'
93+
* doc: fix extracted autodoc when short description ends with a '?'
94+
* doc: add some doc about using NULL or VOID in pointer lists
95+
* doc: add some doc to flowgraph.h
96+
* doc: extract doc related to simplification
97+
98+
Cleanups:
99+
* slice: small reorg of OP_SLICE in preparation for some incoming changes
100+
* cleanup: removed an unused parameter for show_symbol_list()
101+
* cleanup linearize_cond_branch()
102+
* cleanup: remove unneeded REPEAT_SYMBOL_CLEANUP
103+
* cleanup: no needs to use MARK_CURRENT_DELETED() for multi-jumps
104+
* linearize: remove unneeded forward declarations
105+
* linearize: only allocate call instructions when needed

0 commit comments

Comments
 (0)