similar to: [LLVMdev] machine constant pool/arm constant pool

Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] machine constant pool/arm constant pool"

2013 Oct 11
0
[LLVMdev] where to put the constant island pass?
ARM absolutely needs to know about control flow in that pass. -Jim On Oct 11, 2013, at 2:16 PM, reed kotler <rkotler at mips.com> wrote: > Currently the ARM port does constant islands on a per function basis. > > I'm aware of at least one other port that does this kind of optimization on the mc layer. > > To do such long/short jump and load optimizations, you
2013 Oct 11
2
[LLVMdev] where to put the constant island pass?
Currently the ARM port does constant islands on a per function basis. I'm aware of at least one other port that does this kind of optimization on the mc layer. To do such long/short jump and load optimizations, you don't need anything about registers or basic blocks. So it seems this would be better because then you can pool things on a per module basis. In the case of Mips16, the
2013 Sep 18
0
[LLVMdev] forcing two instructions to be together
That doesn't actually give you a guarantee that they won't be split up. Phases other than the scheduler may insert instructions in the middle of block (constant island pass, for example). Pseudo-instructions are the canonical answer to that problem. --Owen On Sep 17, 2013, at 11:09 PM, Micah Villmow <micah.villmow at smachines.com> wrote: > I used the A9 schedule as an
2013 Oct 15
0
[LLVMdev] module level assembly optimization
On 10/15/2013 01:39 PM, reed kotler wrote: > On 10/15/2013 01:30 PM, Rafael Espíndola wrote: >> On 14 October 2013 21:56, reed kotler <rkotler at mips.com> wrote: >>> I would like to do constant pools over an entire module instead of >>> just on a >>> per function basis as constant islands does it now. >>> >>> It seems there are two
2013 Oct 15
2
[LLVMdev] module level assembly optimization
On 10/15/2013 01:30 PM, Rafael Espíndola wrote: > On 14 October 2013 21:56, reed kotler <rkotler at mips.com> wrote: >> I would like to do constant pools over an entire module instead of just on a >> per function basis as constant islands does it now. >> >> It seems there are two options for this: >> >> 1) collect the machine functions with their
2013 Feb 17
0
[LLVMdev] keeping instructions in order and hidden dependencies
Sounds like bundles will be the simplest to start with though I suppose I could just lower the pseudos after scheduling is done; for now. Bundles will prevent things from being able to be scheduled in more creative ways but for that I need to think more about the problem. So I can just create a bundle, insert instructions in it, and all will work more or less? I'm trying to take the next
2013 Feb 17
4
[LLVMdev] keeping instructions in order and hidden dependencies
You are trying to do a few different things here, and a uniform solution may not work for all of them. For a fixed instruction sequence, e.g. a special kind of move-and-branch sequence used for tail calls, you probably want a pseudo. If you are trying to combine arbitrary instructions together, e.g. Thumb IT blocks, you probably want to use bundles, even if the sequences are a fixed length. I
2013 Oct 15
0
[LLVMdev] module level assembly optimization
On 14 October 2013 21:56, reed kotler <rkotler at mips.com> wrote: > I would like to do constant pools over an entire module instead of just on a > per function basis as constant islands does it now. > > It seems there are two options for this: > > 1) collect the machine functions with their machine instructions for the > whole module, edit them as needed and then >
2013 Feb 25
1
[LLVMdev] constants in text section for mips 16
Why did you take out the constant island code for Arm 64? Just did not need it? On 02/21/2013 12:01 PM, Tim Northover wrote: > Hi Reed, > >> I'm wondering if there is already some mechanism where I can assign literals >> to the text section and get a label for where it has been stored. > > I think putting them in the text section is reasonably simple, though >
2013 Sep 18
2
[LLVMdev] forcing two instructions to be together
I used the A9 schedule as an example: http://llvm.org/svn/llvm-project/llvm/trunk/lib/Target/ARM/ARMScheduleA9.td The documentation could use more clarity, but this is how I was able to do it to always get two specific instructions to be scheduled together. ________________________________________ From: reed kotler [rkotler at mips.com] Sent: Tuesday, September 17, 2013 8:54 PM To: Micah Villmow
2013 Oct 17
1
[LLVMdev] module level assembly optimization
On Oct 15, 2013, at 1:30 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote: > On 14 October 2013 21:56, reed kotler <rkotler at mips.com> wrote: >> I would like to do constant pools over an entire module instead of just on a >> per function basis as constant islands does it now. >> >> It seems there are two options for this: >> >> 1)
2013 Nov 23
0
[LLVMdev] bugpoint question
----- Original Message ----- > From: "Reed Kotler" <rkotler at mips.com> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: LLVMdev at cs.uiuc.edu > Sent: Friday, November 22, 2013 11:18:53 PM > Subject: Re: bugpoint question > > In that case it tries to do something but fails. > > rkotler at ubuntu-rkotler:~/testmips16$ >
2013 Nov 19
1
[LLVMdev] possible thumb bug in constant islands
On 11/18/2013 06:34 PM, Jim Grosbach wrote: > On Nov 18, 2013, at 3:49 PM, reed kotler <rkotler at mips.com> wrote: > >> I don't know ARM hardly at all but... >> >> This comment does not seem to match the code. >> Or maybe tBfar is a BL? > What does the definition of tBfar say? Okay.. but // Far jump // Just a pseudo for a tBL instruction. Needed
2013 Feb 17
0
[LLVMdev] keeping instructions in order and hidden dependencies
One of my reasons for lowering things early is that I need to get an accurate count of the size of things. Some of the pseudos even have instructions like compare immediate, which in Mips 16 has two forms depending on the magnitude of the immediate field. Though I suppose it's possible to leave things as a pseudo and calculate their size, though I'm not sure where I could store the
2013 Feb 27
0
[LLVMdev] arm compiler benchmarks
I will surely share some results when I have them. I'm working on mips 16 which is like thumb 1. For mips 16 people only care about size usually. I need to implement a simple version of constant islands which I hope to finish this week and then I should have the tools to start to be competitive. Reed On 02/27/2013 06:23 AM, Renato Golin wrote: > On 27 February 2013 08:54, David
2013 Oct 15
0
[LLVMdev] module level assembly optimization
On Mon, Oct 14, 2013 at 6:56 PM, reed kotler <rkotler at mips.com> wrote: > I would like to do constant pools over an entire module instead of just on a > per function basis as constant islands does it now. > > It seems there are two options for this: > > 1) collect the machine functions with their machine instructions for the > whole module, edit them as needed and then
2013 Sep 26
0
[LLVMdev] arm constant island pass
I'm wondering if anyone cares to weigh in on the "goodness" of the arm constant island pass. Also, regarding any "i wish we had done xxxx differently".... I'm planning to port it for Mips16 but also have the option to roll my own. I'm studying the pass in detail right now. Tia. Reed
2013 Nov 23
2
[LLVMdev] bugpoint question
In that case it tries to do something but fails. rkotler at ubuntu-rkotler:~/testmips16$ /home/rkotler/llvmw/install/bin/bugpoint casts.bc -llc-safe --safe-tool-args -target=mips-linux-gnu -mcpu=mips16 -mips16-constant-islands Read input file : 'casts.bc' *** All input ok Initializing execution environment: Found llc: /home/rkotler/llvmw/install/bin/llc Running the code
2013 Nov 19
0
[LLVMdev] possible thumb bug in constant islands
On Nov 18, 2013, at 3:49 PM, reed kotler <rkotler at mips.com> wrote: > I don't know ARM hardly at all but... > > This comment does not seem to match the code. > Or maybe tBfar is a BL? What does the definition of tBfar say? > > Also, how does this work if the destination is greater than 2**21? > It doesn’t. IIRC, that’s under the category of “if people start
2013 Nov 23
0
[LLVMdev] bugpoint question
----- Original Message ----- > From: "reed kotler" <rkotler at mips.com> > To: LLVMdev at cs.uiuc.edu > Sent: Friday, November 22, 2013 8:40:24 PM > Subject: [LLVMdev] bugpoint question > > This is my first time using bugpoint. I'm getting the following > error: > > /home/rkotler/llvmw/install/bin/bugpoint -run-llc casts.bc > --tool-args >