Displaying 20 results from an estimated 1000 matches similar to: "An issue with "lifetime.start" and storing "undef""
2020 Jan 06
2
Any significance for m_OneUse in (X / Y) / Z => X / (Y * Z) ??
Is your case the case mentioned in the subject or a different case?
~Craig
On Sun, Jan 5, 2020 at 8:11 PM raghesh <raghesh.a at gmail.com> wrote:
> Thanks Sanjay for your comments.
>
> So, if we want to add a transformation avoiding the one-use check, which
> one is the ideal pass? Shall we do it in -aggressive-instcombine? I came
> to know that if the pattern search
2020 Jan 03
3
Any significance for m_OneUse in (X / Y) / Z => X / (Y * Z) ??
A couple more general comments:
1. There shouldn't be any correctness issues removing one-use checks (the
transform should be safe independently of use-counts).
2. Ideally, you can remove a m_OneUse() from the code and run 'make check'
or similar, and you will see a regression test failure because we have a
'negative' test to cover that pattern. That should make it clear that
2019 Dec 31
3
Any significance for m_OneUse in (X / Y) / Z => X / (Y * Z) ??
Dear All,
The InstCombine pass performs the following transformation.
Z / (X / Y) => (Y * Z) / X
This is performed only when operand Op1 ( (X/Y) in this case) has only one
use in future. The code snippet is shown below.
if (match(Op1, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) &&
(!isa<Constant>(Y) || !isa<Constant>(Op0))) {
// Z / (X / Y) => (Y *
2018 May 16
0
GlobalAddress lowering strategy
I've been looking at GlobalAddress lowering strategy recently and was
wondering if anyone had any ideas, insights, or experience to share.
## Background
When lowering global address, which is typically done in
FooTargetLowering::LowerGlobalAddress you have the option of folding
in the global offset into the global address or else emitting the base
globaladdress and a separate ADD node for the
2017 Jun 19
2
LLVM behavior different depending on function symbol name
using `opt --print-after-all -O3` I see that EarlyCSE is interpreting the
call to `ceil` and constant fold:
*** IR Dump After Early CSE ***
; Function Attrs: nobuiltin nounwind
define i1 @do_test() #2 {
Entry:
%0 = call fastcc float @ceil(float 0.000000e+00) #6
%1 = call fastcc float @ceil32(float 0.000000e+00) #6
%2 = fcmp fast oeq float 0.000000e+00, %1
ret i1 %2
}
So just running `opt
2011 Jun 14
1
[LLVMdev] Adding Polly tester to LLVM buildbot
Hi All,
We set up a Polly buildbot tester and would like to add this to LLVM
buildbots. We want to commit the buildbot scripts to the LLVM/zorg
repository and include buildslave to buildbot.llvm.org
Can any one help us to do this?
Regards,
--
Raghesh
2011 Mar 21
3
[LLVMdev] Contributing to Polly with GSOC 2011
Dear all,
I am Raghesh, a student pursuing M.Tech at Indian Institute of
Technology, Madras, India.
I would like to make contribution to the Polly project
(http://wiki.llvm.org/Polyhedral_optimization_framework) as part of
GSOC 2011. I have gained some experience working in OpenMP Code
generation for Polly. This is almost stable now and planning to test
with the polybench benchmarks.
Some of
2010 Dec 22
2
[LLVMdev] Generating target dependent function calls
Hi,
raghesh and I are working in Polly on automatically generating OpenMP
calls. This works nicely on a 64bit architecture,
however the functions we need to generate are slightly different on
different platforms.
The reason for the difference is that e.g "long" in
> bool GOMP_loop_runtime_next(long, long)
has a different size on different architectures.
Currently we generate
2011 Jun 10
2
[LLVMdev] Polly test and example
(2011/06/10 13:25), Tobias Grosser wrote:
> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote:
>> H, Tobias
>> Thank you for your reply.
>>
>>
>> Tobias Grosser wrote:
>>> Interesting. On what kind of Platform are you running this? Is it still
>>> Ubuntu 11.04? I assume it's an intel platform, but is it a 32-bit or
>>> 64bit?
>>
2017 Sep 04
2
llvm-dev Digest, Vol 159, Issue 2
Hal, Tobias, et al. –
I am strongly in favor of seeing a broader range of loop transformations, supported by strong dependence analysis, added to LLVM, and the Polly infrastructure seems to be by far our best bet to make that happen. I have a couple of questions:
1) Integer constraint libraries like ISL (and Omega, which I used extensively in a previous project) are fundamentally solving
2011 Jun 10
4
[LLVMdev] Polly test and example
(2011/06/10 14:01), Tobias Grosser wrote:
> On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote:
>> (2011/06/10 13:25), Tobias Grosser wrote:
>>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote:
>>>> H, Tobias
>>>> Thank you for your reply.
>>>>
>>>>
>>>> Tobias Grosser wrote:
>>>>> Interesting. On what kind
2011 Jun 10
0
[LLVMdev] Polly test and example
On 06/10/2011 01:52 AM, MORIYAMA Tomohiro wrote:
> (2011/06/10 13:25), Tobias Grosser wrote:
>> On 06/10/2011 12:00 AM, MORIYAMA Tomohiro wrote:
>>> H, Tobias
>>> Thank you for your reply.
>>>
>>>
>>> Tobias Grosser wrote:
>>>> Interesting. On what kind of Platform are you running this? Is it still
>>>> Ubuntu 11.04? I
2013 Dec 13
0
[LLVMdev] GVNPRE /PRE is not effective
Hi All,
The PRE or GVNPRE is not effective for the below use case.
int sum;
int phi =30;
void
f (int i, int *a)
{
if ((a[i] << (1)) > -15) sum =(phi+ 0x7fffffffL )/ a[i];
if ((a[i] << (2)) > -15) sum =(phi + 0x7fffffffL) /a[i];
}
respective asm (clang on trunk )
#clang -O3 -S test.c
BB#0: # %entry
pushl %edi
pushl %esi
2020 Nov 13
0
Question about LLVM region analysis
Hi, developers,
Recently, I am trying to use the LLVM Region analysis, the LLVM
version is 10. I use opt to print out the region analysis result using
"opt -view-regions-only region.ll". However, I am confused about the
result produced by LLVM, I found that LLVM seems to skip loop
preheader when grouping blocks into regions. Here is a simple example
code:
```region.c
void split(int
2011 Mar 24
0
[LLVMdev] Contributing to Polly with GSOC 2011
hi raghesh,
>
> 5. Porting Polly to Various architectures.
> -------------------------------------------------
>
> Currently Polly generates everything as 64 bit integer, which is
> problamatic for embedded platforms.
>
you may try something like this:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-January/037277.html
I am already planning to implement this, and it is
2010 Dec 22
0
[LLVMdev] Generating target dependent function calls
On Wed, Dec 22, 2010 at 01:38:06PM -0500, Tobias Grosser wrote:
> Hi,
>
> raghesh and I are working in Polly on automatically generating OpenMP
> calls. This works nicely on a 64bit architecture,
> however the functions we need to generate are slightly different on
> different platforms.
>
> The reason for the difference is that e.g "long" in
>
> >
2011 Dec 14
0
[LLVMdev] Help with hazards
The scoreboard hazard detector that I've added for the PPC 440 is not
detecting hazards as it should (which certainly could be my fault
somehow, but...). For example, it will produce a schedule that looks
like...
SU(28): 0x127969b0: f64,ch = LFD 0x12793aa0, 0x1277b4f0,
0x127965b0<Mem:LD8[%scevgep100](tbaa=!"double")> [ORD=41] [ID=28]
SU(46): 0x12796ab0: f64 = FADD 0x127969b0,
2011 Jun 10
0
[LLVMdev] Polly test and example
Hi,
> out.s: Assembler messages:
> out.s:8: Error: bad register name `%rsp'
> out.s:9: Error: bad register name `%rsp)'
> out.s:12: Error: invalid instruction suffix for `call'
> out.s:14: Error: bad register name `%rax'
> out.s:18: Error: bad register name `%rcx'
> out.s:22: Error: bad register name `%rcx)'
> out.s:23: Error: bad register name
2011 Jun 10
2
[LLVMdev] Polly test and example
H, Tobias
Thank you for your reply.
Tobias Grosser wrote:
(Thu, 09 Jun 2011 15:41:05 -0300)
>On 06/08/2011 01:17 AM, MORIYAMA Tomohiro wrote:
>> Hi, all
>>
>> I tried Polly installation on Ubuntu.
>>
>> On its building, it returned no errors.
>> But when I run "make polly-test", it returns 11 unexpected failures as
>> follows.
>>
2011 Apr 03
3
[LLVMdev] [GSoC] Increase the coverage of Polly
Hi.
My plan would be:
1w Study sources of Polly and LLVM docs relating to analysis.
2w Create tests which demonstrate problems with NSW/NUW
3-4w Fix the handling of wrap overflows.
5w Complete middle term paperwork.
6w Create tests for each of cases which are not currently optimized (e.g.
have min/max, sext/zext, trunc or unsigned comparisons in the loop bounds or
memory accesses).
7w Learn how