search for: acpar

Displaying 4 results from an estimated 4 matches for "acpar".

Did you mean: achar
2019 Aug 07
2
Dead store elimination in the backend for -ftrivial-auto-var-init
There are two problems: 1. padding after union and call to q(), without LTO we can't remove that store. 2. shortcut which I have which ignores all instructions q() . this assume that memset to acpar.match, acpar.matchinfo also useful which is not true. I should be able to improve this case. On Thu, Aug 1, 2019 at 11:29 PM Vitaly Buka <vitalybuka at google.com> wrote: > On a first look case like this should nor be a problem. The tail of the > memset here is unused because it's...
2019 Aug 01
2
Dead store elimination in the backend for -ftrivial-auto-var-init
...-ftrivial-auto-var-init=zero: $ clang -no-integrated-as -mno-sse -m64 -mstack-alignment=8 -O2 -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -g -o ipt.ll -c ipt.i -w -S -emit-llvm , Clang generates an initialization memset() call for |acpar| in the IR: %0 = bitcast %struct.xt_action_param* %acpar to i8*, !dbg !27 call void @llvm.memset.p0i8.i64(i8* nonnull align 8 %0, i8 0, i64 40, i1 false), !dbg !28 Clang only splits memsets into series of stores under certain conditions, so it's hard to remove redundant stores on the...
2019 Aug 01
2
Dead store elimination in the backend for -ftrivial-auto-var-init
On Thu, Aug 1, 2019 at 6:09 PM JF Bastien <jfbastien at apple.com> wrote: > > Hi Alexander, > > The code doesn’t compile. Could you send a godbolt.org link that shows the issue? Sorry about that, here's the link: https://godbolt.org/z/-PinQP Lines 4 to 8 are initializing |acpar|. If I'm understanding correctly, the store to 8(%rsp) at line 7 can be removed because of the store at line 35. Same for store to 24(%rsp), which is later overwritten at lines 11 and 16. > Thanks, > > JF > > > On Aug 1, 2019, at 7:21 AM, Alexander Potapenko <glider at goog...
2019 Aug 01
2
Dead store elimination in the backend for -ftrivial-auto-var-init
...ple.com> wrote: > >> > >> Hi Alexander, > >> > >> The code doesn’t compile. Could you send a godbolt.org link that shows the issue? > > Sorry about that, here's the link: https://godbolt.org/z/-PinQP > > > > Lines 4 to 8 are initializing |acpar|. > > If I'm understanding correctly, the store to 8(%rsp) at line 7 can be > > removed because of the store at line 35. > > These are in different basic blocks. IIRC there are a bunch of cases where DCE just fails when there’s any control flow. I think this is what you’re see...