Displaying 20 results from an estimated 700 matches similar to: "opt optimization"
2020 Apr 06
2
Branch is not optimized because of right shift
On Sun, Apr 5, 2020 at 6:34 PM Stefanos Baziotis <
stefanos.baziotis at gmail.com> wrote:
> Hi Craig,
>
> > Adding a nuw to the add -8 is incorrect.
> Yeah, I didn't mean to say it was correct. It was just an observation that
> with nuw the optimization was happened and I asked if someone thought it
> was somehow connected.
>
> > From the perspective of the
2020 Apr 06
2
Branch is not optimized because of right shift
Adding a nuw to the add -8 is incorrect. From the perspective of the
unsigned math, -8 is treated a very large positive number. The input to the
add is [8,13) and adding a large positive number to it wraps around past 0.
So that is guaranteed unsigned wrap. On the other hand, a sub nuw 8 would
be correct.
~Craig
On Sun, Apr 5, 2020 at 3:27 PM Stefanos Baziotis via llvm-dev <
llvm-dev at
2020 Apr 05
2
Branch is not optimized because of right shift
> On Apr 5, 2020, at 22:20, Stefanos Baziotis <stefanos.baziotis at gmail.com> wrote:
>
> > Any idea about how the compiler could remove the lshr and use a add -16?
> Actually, I just figured that doing this test is like solving this:
>
> 8 <= x/2 <= 13
> 16 <= x <= 26
> 0 <= x - 16 <= 10 => 0 <= x < 11
> The left part is know since
2020 Apr 05
3
Branch is not optimized because of right shift
Hi,
> I think the IR in both of your examples makes things harder for the
compiler than expected from the original C source.
Note that both versions are from clang with -O2. The first is with version
9.0 and the second is with the trunk.
> but in the branch only %0 is used. Sinking the lshr too early made the
analysis harder.
Yes, exactly! That's what I figured too.
> The version
2020 Apr 05
2
Branch is not optimized because of right shift
Hi everyone,
In a twitch chat someone redirected me to an example that is not optimized:
https://godbolt.org/z/BL-4jL
I included the original source code and this is after -O2. We both thought
that the -8 branch could be optimized out. I added a nuw in the subtraction
and it actually does it.
Any thoughts on why that doesn't happen already?
Best,
Stefanos Baziotis
-------------- next part
2020 Oct 01
3
A 4x slower initialization loop in LLVM vs GCC and MSVC
> On Oct 1, 2020, at 20:45, Florian Hahn via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
>> On Sep 27, 2020, at 12:52, Stefanos Baziotis via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi everyone,
>>
>> I was watching this video [1]. There's an example of an initialization loop for which
>> Clang unfortunately
2020 Oct 01
3
How to get the loop hotness data in a suite ?
Hi everybody,
I'm trying to get loop hotness data across a suite (e.g. the llvm
test-suite). Ideally,
this would be a list that for each loop would list how many times it was
entered and what
was its iteration count (at least the latter). The closest thing I could
come up with is:
- clang -fprofile-instr-generate (without opts) to get a .profraw
- Get the .profdata
- Give that back to clang
2020 Apr 13
2
Why we don't have eternal optimizers?
Hi everyone,
Lately I've been thinking of the optimization model of almost any optimizer
ever.
The optimizer should finish "at a reasonable time". For example,
for a 20k lines program, the optimizer should finish in a couple of minutes
and not
e.g. a couple of days.
And my question is, why? For almost all programs, the period that starts
when the program
starts being developed to
2020 Sep 22
2
How to clean-up SCEVs from sext/zext/trunc ?
Hi Michael,
Thanks for the reply. I've seen but have not used it. FWIW, the problem is
not how to generate the runtime
checks (although it'd be good if we can get it for free), but how to clean
up the SCEVs. Does PSE do that ?
Cheers,
Stefanos
Στις Δευ, 21 Σεπ 2020 στις 11:59 π.μ., ο/η Michael Kruse <
llvmdev at meinersbur.de> έγραψε:
> Have you looked into
2020 Apr 05
2
Branch is not optimized because of right shift
Hi John,
I hadn't seen alive2, amazing program, thank you! Keep up the good work.
> I'm not sure that I've captured what you mean here
To be more specific for everyone:
- First of all, I hope it's clear that in the original (C) code, the region
- 0x8 > 1000 branch should
be eliminated. That is because it is inside a block that has ensured that 8
< region < 12. But
2020 Oct 12
3
MemorySSA LLVM-dev meeting notes and upcoming meetings
Hello,
Following up on last week's LLVM-Dev meeting where we discussed MemorySSA
related topics, I created the following google doc
<https://docs.google.com/document/d/1-uEEZfmRdPThZlctOq9eXlmUaSSAAi8oKxhrPY_lpjk/edit#>
with some of the meeting notes and planning for future meetings. For those
who participated, please feel free to add items I may have missed into the
document and cc
2020 Mar 09
2
GSoC - Advanced Heuristics and Machine Learning
Hello again! Previously, I introduced myself as a prospective GSoC student
interested in LLVM. Per Mr. Doerfert suggestion I took a look at two other
projects that he said could interest me due to my ongoing research in
autotuning. The projects are:
Advanced Heuristics for Ordering Compiler Optimization Passes
Machine learning and compiler optimizations: using inter-procedural
analysis to select
2020 Mar 24
2
[GSoC] Improve parallelism-aware analyses and optimizations
Hi to Both,
Praveen, I think you didn't CC Johannes. :) I'll give it a try.
Best,
Stefanos
Στις Τρί, 24 Μαρ 2020 στις 9:44 μ.μ., ο/η Praveen Velliengiri via llvm-dev <
llvm-dev at lists.llvm.org> έγραψε:
> Hi Nader,
> I have cc'ed the project mentor. He is the best person to help you here.
> All the best.
>
> On Tue, 24 Mar 2020 at 20:42, Nader Al Awar via
2020 Mar 18
2
GSoC Opportunity
Hi Raphael,
Thanks for the clarification. I note that in this case, I also think that
Benson should preferably find a different project as that would probably be
better for everybody.
Best,
Stefanos Baziotis
On Wed, Mar 18, 2020, 12:24 Raphael “Teemperor” Isemann <teemperor at gmail.com>
wrote:
> Just to clarify my point about the “asking if there is already another
> student
2020 Mar 17
4
GSoC Opportunity
Hi everyone,
> I probably do not have the time to get a patch through.
IMHO, you do. :)
First of all, @Benson sorry but I'm not at all familiar with LLDB so I
can't help there.
Other than that, I'll also disappoint you both probably because I'm not
that familiar with the creation of passes and the problem at hand. I'll try
to help as I can.
> Is there a specific
2020 Mar 21
4
questionabout loop rotation
Hi Stefanos,
Thanks for your comments. I added both as reviewer.
> One question though. Are you sure that this:
> This helps with LICM when instructions inside a conditional is loop invariant
> is not achieved with the current LoopRotate pass? Because AFAIK, it does. Basically it inserts
> a guard (that branches to the preheader) and then passes like LICM hoist invariant
2020 Mar 18
2
GSoC Opportunity
Hi to both,
> I'm not applying for GSoC but that's a hint if other students are
applying to help them get started.
Yes I agree, thanks for bringing up the topic.
> On a more serious note, how do I know what issue can be solved in a
reasonable amount of time/how do I search for one?
Well, usually you don't. If you're lucky, someone will be able to provide
you with some
2020 Mar 18
2
GSoC Opportunity
>
> IMHO, you do. :)
Lol, you have too much faith in me. On a more serious note, how do I know
what issue can be solved in a reasonable amount of time/how do I search for
one?
> Please feel free to email me or Ettore if you encounter any blockers, or
> have further questions.
Hi Whitney, thanks for the video link and info. I was a bit busy today, but
I will work tomorrow and get
2020 Mar 09
2
GSoC Interested student
Greetings,
I'm an LLVM newcomer interested in participating in the next GSoC under
the project "Improve parallelism-aware analyses and optimizations". I've
already read "Compiler Optimizations for OpenMP" and "Compiler
Optimizations for Parallel Programs" both by Doerfert and Finkel. Also,
I've watched their two LLVM meeting developers conferences
2020 Jul 15
3
How to get information about data dependencies?
Stefanos Baziotis via llvm-dev <llvm-dev at lists.llvm.org> writes:
> Well... I tried that and it doesn't seem to be very useful
> unfortunately. The C/C++ way that arrays are defined is probably why
> DA is not that useful. Namely that a row can alias with another row in
> 2D arrays. The theory behind DA is quite powerful if we knew that they
> don't alias. Right