Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] arm constant island pass"
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 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 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 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 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 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 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 Mar 27
1
[LLVMdev] LLVM pass question
So the switching between mips16 and mips32 on a per function basis seems
to basically be working except that asm printer has some kind of
issue here.
I'm debugging that now.
I get this:
lc: /home/rkotler/workspace/llvmpb6/include/llvm/MC/MCStreamer.h:224:
void llvm::MCStreamer::SwitchSection(const llvm::MCSection*): Assertion
`Section && "Cannot switch to a null
2012 May 14
0
[LLVMdev] getMinimalPhysRegClass
Reed,
On May 14, 2012, at 3:45 PM, reed kotler <rkotler at mips.com> wrote:
> On 05/14/2012 02:42 PM, Jakob Stoklund Olesen wrote:
>> On May 14, 2012, at 2:28 PM, reed kotler wrote:
>>
>>> I'm not using getMinimalPhysRegClass. Some target independent code is using it.
>> Probably PEI.
>>
>>> It makes trouble for us and I would like to
2013 Jan 08
2
[LLVMdev] mips16 hard float puzzle
For example:
/home/rkotler/llvm/install/bin/llc -mcpu=mips16 hf16_2.ll -march=mipsel
-relocation-model=pic -o hf16_2.s -O3 -mips16-hard-float -soft-float
On 01/04/2013 07:45 PM, Eli Friedman wrote:
> On Fri, Jan 4, 2013 at 6:28 PM, reed kotler <rkotler at mips.com> wrote:
>> On 01/04/2013 06:08 PM, Eli Friedman wrote:
>>> On Fri, Jan 4, 2013 at 4:08 PM, reed kotler
2013 Jan 11
0
[LLVMdev] adding IR attributes to llvm
I think that Bill Wendlings new attribute implementation would allow me
to do this but it is not ready yet.
Maybe it's okay to just add them to the list of function attributes as I
suggested.
But in the end, someone has to approve the checkin.
On 01/11/2013 07:35 AM, Reed Kotler wrote:
> Yes, you could have mips16 and fastcc.
>
> Mips16 just means that processor mode to execute
2013 Mar 27
0
[LLVMdev] LLVM pass question
This seems to work okay.
I register both the Mips16 and non Mips16 passes of the instruction
selector and then those return false if they are not supposed to be running.
Make-check at least passes in this case.
So in principle turn on the dual mode now and debug whatever misc is left.
For this I insert another pass before the mips16 and non mips16 passes.
On 03/27/2013 10:19 AM, Reed Kotler
2013 Feb 06
0
[LLVMdev] register scavenging
No. forward() is working correctly. All virtual register references must be resolved before calling it.
-Jim
On Feb 5, 2013, at 4:05 PM, Reed Kotler <rkotler at mips.com> wrote:
> So what I realized is that you can't use the simple scavenger trick where you create the virtual register and use the more advanced features.
>
> This is because you can't call forward() in any
2013 Jan 09
0
[LLVMdev] mips16 hard float puzzle
On Tue, Jan 8, 2013 at 6:33 PM, reed kotler <rkotler at mips.com> wrote:
> On 01/08/2013 01:48 PM, Eli Friedman wrote:
>>
>> On Mon, Jan 7, 2013 at 6:07 PM, reed kotler <rkotler at mips.com> wrote:
>>>
>>> For example:
>>>
>>> /home/rkotler/llvm/install/bin/llc -mcpu=mips16 hf16_2.ll -march=mipsel
>>> -relocation-model=pic -o
2012 Sep 29
1
[LLVMdev] mips16 puzzle
Turned out to be a rather simple fix.
Just copied SP to a virtual register in the beginning of the function.
Then added an extra operand to the DAGs with stack reference load/store,
with the extra operand equal to this virtual register if the Parent of
the address is a LOAD/STORE of an 8 or 16 bit quantity.
It worked fine. When needed SP got copied to a mips 16 register and when
the SP alias
2012 Sep 24
0
[LLVMdev] mips16 puzzle
On Sep 20, 2012, at 11:44 PM, Reed Kotler <rkotler at mips.com> wrote:
> Actually, SP is already not in the mips 16 register class but there is some C++ code that is common to mips32, mips64 and mips16 that is wanting to use SP. It's kind of awkward but does work except in this case of load/store haflword and byte to stack objects.
>
ARM has a similar problem. The InstrInfo
2013 May 28
2
[LLVMdev] optimize for size
On 05/27/2013 10:48 PM, Evan Cheng wrote:
> I don't quite understand your question. Clang already supports -Os option.
>
> Evan
Okay.
Do I need to add anything to the llc command line?
> Sent from my iPad
>
> On May 27, 2013, at 7:47 PM, reed kotler <rkotler at mips.com> wrote:
>
>> I'm trying to set the default optimizations for mips16.
>>
2013 May 28
0
[LLVMdev] optimize for size
Sent from my iPad
On May 27, 2013, at 10:49 PM, reed kotler <rkotler at mips.com> wrote:
> On 05/27/2013 10:48 PM, Evan Cheng wrote:
>> I don't quite understand your question. Clang already supports -Os option.
>>
>> Evan
> Okay.
>
> Do I need to add anything to the llc command line?
No. It's captured as a function attribute.
Evan
>
>>