similar to: [LLVMdev] pragmas

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] pragmas"

2009 Mar 25
2
[LLVMdev] pragmas
Pre-empting Chris's inevitable response: don't add intrinsics! I really like the 'disappearing function calls' idea. Chris suggested practically the same thing for a previous question about adding BigInt support. Anthony, whichever route you take in the end, please consider documenting your 'code adventure' on the wiki so others can learn from your experience. Justing
2009 Mar 25
0
[LLVMdev] pragmas
You could encode this information as simple library function calls and then find them again in the generated LLVM IR. The client then just needs a header declaring the functions and information on what they mean. Since there are never any definitions of them they won't end up going anywhere. A more ambitious plan would be to modify llvm-gcc with new __builtins and create intrinsics in
2009 Mar 25
0
[LLVMdev] pragmas
Thanks for the quick responses. "disappearing function calls" is by far the preferred way for me, as I want my pass to work with standard LLVM and not a hacked version that supports extra pragmas, or intrinsics. I am just new to LLVM and wanted to make sure that there isn't already a mechanism for passing meta-data between the user and the optimizer. I am planning to
2009 Mar 27
2
[LLVMdev] StructType field names
Thanks Luke, I was afraid that this would be the case. I can see why this information is useless for most people/optimizations. However, it is still useful if you are writing an analysis pass that is supposed to tell the developer things about her code, and you want the output messages to be human readable. Regarding the "x" or "z" dilemma, I noticed that when you
2009 Apr 06
1
[LLVMdev] pragmas
On Wednesday 01 April 2009 20:01:09 Dan Gohman wrote: > On Apr 1, 2009, at 7:25 AM, Torvald Riegel wrote: > > On Wednesday 25 March 2009, Luke Dalessandro wrote: > >> You could encode this information as simple library function calls > >> and > >> then find them again in the generated LLVM IR. The client then just > >> needs a header declaring the
2009 Mar 26
2
[LLVMdev] StructType field names
Hello, I'm trying to construct a string like "a[1][x].y" in an optimization pass by digging deeper and deeper into a GetElementPtrInst. I can successfully deal with the array/pointer part, but when it comes to the structure field name "y", I cannot figure out how to get anything but the index into the structure. Is there a way to do that, or is this information
2009 Mar 20
1
[LLVMdev] getTripCount and pointers
Hello, I'm having some trouble with getTripCount() ... again. In particular it fails in the first of the following two examples, although it works for the second. By fails, I mean it returns NULL. ---------- example 1 ---------- test1(int *a, const int *ip) { int k; for (k = 0; k < ip[2]; ++k) { a[k] = (k+11)/(k+2); } } ---------- example 2 ---------- test2(int
2009 Mar 26
0
[LLVMdev] StructType field names
Anthony Danalis wrote: > Hello, > > I'm trying to construct a string like "a[1][x].y" in an optimization > pass by digging deeper and deeper into a GetElementPtrInst. I can > successfully deal with the array/pointer part, but when it comes to > the structure field name "y", I cannot figure out how to get anything > but the index into the
2009 Apr 01
2
[LLVMdev] pragmas
On Wednesday 25 March 2009, Luke Dalessandro wrote: > You could encode this information as simple library function calls and > then find them again in the generated LLVM IR. The client then just > needs a header declaring the functions and information on what they > mean. Since there are never any definitions of them they won't end up > going anywhere. I've been using this
2009 Apr 01
0
[LLVMdev] pragmas
On Apr 1, 2009, at 7:25 AM, Torvald Riegel wrote: > On Wednesday 25 March 2009, Luke Dalessandro wrote: >> You could encode this information as simple library function calls >> and >> then find them again in the generated LLVM IR. The client then just >> needs a header declaring the functions and information on what they >> mean. Since there are never any
2009 Apr 13
5
[LLVMdev] MemoryDependenceAnalysis
Hello, I have a code similar to the following: program test integer i, j, N real B(10) call bar(N, 8) N = N+1 do i = 1, N B(i) = (i+5)/(i+3) enddo j = N/2 N = N+7 call IMPORTANT_F(B, N, i, j) end program and I am trying to use dependence
2009 Apr 13
2
[LLVMdev] MemoryDependenceAnalysis
I'm attaching the .bc file. Note that my analysis pass is invoked after "-O1" and that's why the IR I included in the original email is optimized. -------------- next part -------------- A non-text attachment was scrubbed... Name: simple_loops_F2_4list.bc Type: application/octet-stream Size: 6384 bytes Desc: not available URL:
2012 Nov 20
3
[LLVMdev] loop pragmas
Hi, I've been looking at several loop pragma discussion threads, and every now and then, people note that it is difficult to ensure that metadata (that would represent the information from the pragma) is not destroyed during optimizations. I understand that in theory CFG transformations might destroy loops, but in practice, I notice that even after heavy optimization with opt and after
2019 Aug 08
4
[LLVM] (RFC) Addition/Support of new Vectorization Pragmas in LLVM
Hello all, We are students from Indian Institute of Technology(IIT), Hyderabad, we would like to propose the addition of the following pragmas in LLVM that aide in (or possibly increase the scope of) vectorization in LLVM (in comparison with other compilers). 1. ivdep 2. Nontemporal 3. [no]vecremainder 4. [no]mask_readwrite 5. [un]aligned Could you please
2009 Mar 11
3
[LLVMdev] Wiki?
On Mar 11, 2009, at 10:53 AM, Jon Harrop wrote: > On Wednesday 11 March 2009 14:19:28 Vikram S. Adve wrote: >> In principle, having a Wiki like this would be valuable. In >> practice, >> I think there will need to be some sanity checking to make sure >> incorrect or misleading information is not added to it. > > Yes, I think a Wiki would be extremely valuable.
2009 Mar 12
1
[LLVMdev] opt -O2/-O3 does not Initialize pass?
I was using 2.4, but I built 2.5 and it behaves the same. I will test the SVN head too. On Mar 11, 2009, at 10:41 PM, Nick Lewycky wrote: > Anthony Danalis wrote: >> Hello, >> >> I'm writing a pass that adds a function prototype to the module >> during >> doInitialization() and stores the pointer in a global variable. If I >> run opt with
2009 Mar 11
3
[LLVMdev] opt -O2/-O3 does not Initialize pass?
Hello, I'm writing a pass that adds a function prototype to the module during doInitialization() and stores the pointer in a global variable. If I run opt with "-O1" or less, everything works fine. However, If I call opt with "-O2" or "-O3" then as soon as runOnFunction() is called, the pointer seems to be NULL. Here is a code that shows the problem:
2009 Apr 13
1
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 3:32 PM, Eli Friedman wrote: > On Mon, Apr 13, 2009 at 9:06 AM, Anthony Danalis <adanalis at eecs.utk.edu > > wrote: >> How can I use MemoryDependenceAnalysis (or any other analysis for >> that >> matter) to gather that the instructions >> j = N/2 (store i32 %11, i32* %j, align 4) >> and >> N = N+7 (store i32 %12, i32* %n,
2009 Apr 25
0
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 12:01 PM, Anthony Danalis wrote: > I'm attaching the .bc file. Note that my analysis pass is invoked > after "-O1" and that's why the IR I included in the original email > is optimized. Hi Anthony, Sorry for the delay, things have been crazy lately. The MemDep API assumes that you will call getDependency() first, and then only call
2019 Aug 08
3
[LLVM] (RFC) Addition/Support of new Vectorization Pragmas in LLVM
On 8/8/19 2:03 PM, Hal Finkel wrote: Hi, First, as a high-level note, you posted a link to a Google doc, and at the end of the Google doc, you have a list of questions that you'd like answered. In the future, please put the questions directly in the email. For one thing, more people will read your email than will open your Google doc. Second, having the questions in the email should allow a