search for: shuxin

Displaying 20 results from an estimated 152 matches for "shuxin".

2012 Dec 13
3
[LLVMdev] Question about FMA formation
...rom a*b+c expressions at isel time. I don't see any fundamental problem with forming llvm.fmuladd.* to model FMA formation opportunities in an IR pass though. - Lang. On Wed, Dec 12, 2012 at 4:11 PM, Michael Ilseman <milseman at apple.com> wrote: > > On Dec 12, 2012, at 3:40 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > > Hi, Dear All: > > I'm going implement FMA formation. On some architectures, "FMA a, b, c" > is more precise than > "a * b + c". I'm wondering if FMA could be less precise. In the former > case, can...
2013 Apr 05
4
[LLVMdev] A strange testing case of SROA
Hi, Following is excerpted from dynamic-vector-gep.ll. The resulting "extractelement" seems to always return 0.0f regardless the value idx1 and idx2 is holding. Am I missing something here or there is something fishy take place? Thanks Shuxin 101 ; CHECK: test6 102 ; CHECK: insertelement <4 x float> zeroinitializer, float 1.000000e+00, i32 %idx1 103 ; CHECK: extractelement <4 x float> zeroinitializer, i32 %idx2 104 105 %vector.pair = type { %vector.anon, %vector.anon } 106 %vector.anon = type { %vector } 107 %vector = typ...
2012 Dec 13
0
[LLVMdev] Question about FMA formation
Hi, Eli, Mike and Lang: Thank you all for the input. This is one e.g which might be difficult for isel: a*b + c*d + e => a*b + (c*d + e). Thanks Shuxin On 12/12/12 4:43 PM, Lang Hames wrote: > A little background: > > The fmuladd intrinsic was introduced to support the FP_CONTRACT pragma > in C. llvm.fmuladd.* is generated by clang when it sees an expression > of the form 'a * b + c' within a single source statement. &gt...
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
On Oct 29, 2013, at 7:11 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: >> Also, as a general note, I don't see why any of this should be LTO-specific. For variables with local (internal) linkage, we can do the analysis on a per-module basis, and I don't understand why we currently don't. >> >&gt...
2013 Apr 05
0
[LLVMdev] A strange testing case of SROA
Hi Shuxin I think i might have written that test. And yeah, no matter what values you get you’ll get a 0.0. Its probably a bad test case, but i can’t remember if it exposed a bug in this form or not. Since writing it Chandler rewrote SROA anyway so the original bug is long gone. Thanks, Pete On Apr 5, 2...
2012 Nov 10
3
[LLVMdev] Alias analysis interface
Hello, I'm afraid I don't understand your question. Could you restate your example and your question, and say what specifically you would like alias analysis to do? Dan On Fri, Nov 9, 2012 at 9:31 AM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > Sorry the 1st example I gave it bit lame, it is changed to following: > > // a[] is local array, no addr taken. die right after the loop > > for (i = 0; i < N; i++) { > a[i] = ... /* s1 */ > sum += a[i-1]; &...
2013 May 06
3
[LLVMdev] Do we abuse the "nsw" flag
...I catch the case where the multiplication overflow: the 1st and 2nd operand hold the value 0x4000 and 0x20000, respectively. Dose gap source code has some "undefined" behavior according to some spec on this planet? Or it is compiler's fault for blindly mark any mul NSW? Thanks Shuxin
2012 Dec 12
3
[LLVMdev] Question about FMA formation
Hi, Dear All: I'm going implement FMA formation. On some architectures, "FMA a, b, c" is more precise than "a * b + c". I'm wondering if FMA could be less precise. In the former case, can we enable FMA formation despite restrictive FP mode? Thanks Shuxin
2012 Nov 22
2
[LLVMdev] Disable loop unroll pass
...#39;t want to discuss this issue on this mailling list), but in general it is not true for other compilers. I'm dubious about "It greatly simplify the design". The downstream passes need to be fully aware of this new operator, which doesn't make things any simpler. Thanks Shuxin On 11/22/2012 02:56 PM, Gang Yu wrote: > Hi shuxin, > > Promote while-loop to do-loop is the job of loop induction recognized, > not this transformation. The scalar transform for hwloop in optimizer > is for that it is a trouble to discriminate trip counting code with > the re...
2012 Nov 14
8
[LLVMdev] Is infinite empty loop dead code?
...is loop, it would be lot easier to delete non-obvious dead loop like following as compiler doesn't need to prove if the loop in question is infinite or not. Currently llvm is not able to delete such dead loop. while (a) { a = whatever } ; // no use of <a> after this point. Thanks Shuxin
2012 Nov 23
1
[LLVMdev] Disable loop unroll pass
...olling factor. return CurUnrollingFactor; } I think this interface would completely shield "zero-cost-loop" from higher level optimizer, and you certainly can achieve whatever you want in your virtual function implementation. How does this sound to you? Eli? Thanks Shuxin On 11/23/2012 02:41 AM, Ivan Llopard wrote: > Hi Shuxin, > > On 23/11/2012 00:17, Shuxin Yang wrote: >> Hi, Gang: >> >> I don't want to discuss Open64 internal in LLVM mailing list. Let >> us only focus on the design per se. >> As your t...
2012 Oct 05
0
[LLVMdev] LLVM Loop Vectorizer
...posite. For instance, some architectures support vectorization of min/max/saturated-{add,sub)/conditional-assignment/etc/../etc. We need to detect such machine dependent patterns, and *PROMOTE* the bitcode into right forms before we are able to vectorize them. How to deal with this situation? Shuxin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121005/af230106/attachment.html>
2012 Nov 23
0
[LLVMdev] Disable loop unroll pass
Hi Shuxin, On 23/11/2012 00:17, Shuxin Yang wrote: > Hi, Gang: > > I don't want to discuss Open64 internal in LLVM mailing list. Let us > only focus on the design per se. > As your this mail and your previous mail combined give me a impression > that : > > The only reason...
2013 May 06
0
[LLVMdev] Do we abuse the "nsw" flag
This has come up before, and we just added -fwrapv to work around the problem: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110131/115969.html Are you compiling without -fwrapv? Cameron On May 6, 2013, at 4:55 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > Hi, There: > > Clang fails to compile 254.gap @ CPU2000int suite. The symptom is that executable fail to run > with reference input. > > The root cause is that the compiler mistakenly optimizes expr "x * y / y" into...
2013 Oct 30
2
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
>> 2) is just for being pedantic :-) >> >> One might otherwise argue in this snippet, x apparently does not have >> its addr taken, >> however, it's illegal to say that "x" and "*p" don't alias. > Wait, really? I thought that "volatile static int x" just meant that the value of x was volatile; not that 'x' might
2012 Nov 10
0
[LLVMdev] Alias analysis interface
...) sufficient, or should we also need to pass 1) the common loop that tightly enclose two memory access, and 2) boolean value indicate if the optimization is across loop or not. We likely should, but it the the interface clunky to use. What is your insight into this problem? Thanks Shuxin On 11/9/12 4:44 PM, Dan Gohman wrote: > Hello, > > I'm afraid I don't understand your question. Could you restate your > example and your question, and say what specifically you would like > alias analysis to do? > > Dan > > On Fri, Nov 9, 2012 at 9:31 AM...
2012 Nov 09
2
[LLVMdev] Alias analysis interface
...combine the results from alias analysis and dependence test? If I change the code little bit, into following, then combining the querying dependence testing would prevent hosting *q. // points-to(p) = { a, b } // points-to(q) = { c, d } for (i = 0; i < N; i++) *p += *q + 1; Thanks Shuxin
2013 Jul 15
0
[LLVMdev] [Proposal] Parallelize post-IPO stage.
On Jul 12, 2013, at 3:49 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > 6) Miscellaneous > =========== > Will partitioning degrade performance in theory. I think it depends on the definition of > performance. If performance means execution-time, I guess it dose not. > However, if performance includes co...
2012 Dec 13
0
[LLVMdev] Question about FMA formation
Hi Michael, Shuxin, > Shuxin was showing some more complicated patterns that required > re-association to match (fast-math flags permitting). For those, we're > considering if having a re-associate-for-FMA functionality in > codegen-prepare would solve that problem. Thus, we can re-associate in >...
2013 Apr 06
1
[LLVMdev] A strange testing case of SROA
Hi, Duncan: Thank you for sharing this info. I will check and go back to you next Monday. In case PR15674 is caused by the same bug, I will put a comment over there and close it. Thank you again! Shuxin On 4/6/13 2:55 AM, Duncan Sands wrote: > Hi Shuxin, > >> Following is excerpted from dynamic-vector-gep.ll. >> The resulting "extractelement" seems to always return 0.0f regardless >> the value >> idx1 and idx2 is holding. >> Am I missing somethin...