Displaying 20 results from an estimated 60000 matches similar to: "[LLVMdev] addPreEmitPass called twice"
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 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 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 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
>
2013 Nov 23
2
[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
-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
Sorry, I can't automatically select a
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 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
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 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 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 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 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 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 Nov 12
1
[LLVMdev] asm parser functionality
Right now inline assembler just passes through to the assembler if there
is no direct object emitter.
If there is a direct object emitter, it gets processed in Asm parser and
MC instructions are produced.
I propose that the initial parsing happen very early and the inline
assembly code be replaced with a sequence of MachineInstructions in the
basic block where it occurs.
Then code like
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 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 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 Oct 15
5
[LLVMdev] module level assembly optimization
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
call asmprinter for them one at a time.
2) collect all the instruction streams and store them in lists, one
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 Feb 17
3
[LLVMdev] keeping instructions in order and hidden dependencies
AFAIK, You have two choices: use a pseudo that is lowered into separate instructions later as part of asm emission, or use MI bundles. The former is generally what existing targets use for this sort of thing, but perhaps the second would work better for you.
Cameron
On Feb 16, 2013, at 8:37 PM, Reed Kotler <rkotler at mips.com> wrote:
> Some of my pseudos do conditional branch .+4 and