Displaying 14 results from an estimated 14 matches for "lytro".
2012 Aug 16
3
[LLVMdev] MIPS & GP register
On Aug 15, 2012, at 11:56 PM, Eli Friedman wrote:
> On Wed, Aug 15, 2012 at 10:17 PM, Carl Norum <carl at lytro.com> wrote:
>>> -march=mips32r2
>>> -mtune=4kem
>>> -msoft-float
>>> -EL
>>>
>>> -Xclang -triple -Xclang mipsel-sde-elf
>>> -Xclang -mrelocation-model -Xclang static
>>>
>>> -Xclang -mllvm -Xc...
2012 Aug 17
2
[LLVMdev] MIPS & GP register
(forwarding to llvm-dev)
---------- Forwarded message ----------
From: Akira Hatanaka <ahatanak at gmail.com>
Date: Fri, Aug 17, 2012 at 2:35 PM
Subject: Re: [LLVMdev] MIPS & GP register
To: Carl Norum <carl at lytro.com>
Will something like this fix the problem?
if (!Subtarget.isLinux()) {
reserve GP and GP_64
}
To improve code, we have stopped reserving GP as a dedicated global
register and have made it available to the register allocator. This works
if we can initialize GP at the entry of every func...
2012 Aug 16
0
[LLVMdev] MIPS & GP register
On Thu, Aug 16, 2012 at 10:37 AM, Carl Norum <carl at lytro.com> wrote:
>
> On Aug 15, 2012, at 11:56 PM, Eli Friedman wrote:
>
>> On Wed, Aug 15, 2012 at 10:17 PM, Carl Norum <carl at lytro.com> wrote:
>>>> -march=mips32r2
>>>> -mtune=4kem
>>>> -msoft-float
>>>> -EL
>>...
2012 Aug 17
0
[LLVMdev] MIPS & GP register
...012, at 2:36 PM, Akira Hatanaka wrote:
> (forwarding to llvm-dev)
>
> ---------- Forwarded message ----------
> From: Akira Hatanaka <ahatanak at gmail.com>
> Date: Fri, Aug 17, 2012 at 2:35 PM
> Subject: Re: [LLVMdev] MIPS & GP register
> To: Carl Norum <carl at lytro.com>
>
>
> Will something like this fix the problem?
>
> if (!Subtarget.isLinux()) {
> reserve GP and GP_64
> }
>
> To improve code, we have stopped reserving GP as a dedicated global register and have made it available to the register allocator. This works if we...
2012 Aug 16
2
[LLVMdev] MIPS & GP register
...a couple of other similarly named routines. We managed to get them out of a newer libgcc, but couldn't find anything in clang/llvm that had them. I found them in compiler-rt, but from what I gather that doesn't work for MIPS yet?
Thanks for any tips & advice!
--
Carl Norum
carl at lytro.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mips_gp.patch
Type: application/octet-stream
Size: 760 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120815/0c785b68/attachment.obj>
2012 Aug 16
0
[LLVMdev] MIPS & GP register
On Wed, Aug 15, 2012 at 10:17 PM, Carl Norum <carl at lytro.com> wrote:
>> -march=mips32r2
>> -mtune=4kem
>> -msoft-float
>> -EL
>>
>> -Xclang -triple -Xclang mipsel-sde-elf
>> -Xclang -mrelocation-model -Xclang static
>>
>> -Xclang -mllvm -Xclang -mips-ssection-threshold=0...
2013 Jun 05
0
[LLVMdev] bug or expected behaviour?
...$ clang -arch arm -emit-llvm -S -O0 example.c -o arm.bc
$ opt -print-after-all -O1 arm.bc
I can see where the branch test is whittled down to an 'if true' and then eliminated, but cannot comment as to why this might be.
Cheers,
-DavidM
On 05/06/2013, at 9:50 AM, Carl Norum <carl at lytro.com> wrote:
>
> On Jun 4, 2013, at 4:42 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
>> I was suggesting to add it to the function, like
>> volatile void func(..);
>> Theoretically, this would tell the compiler not to omit seemingly superfluous calls t...
2013 Jun 04
5
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 4:42 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> I was suggesting to add it to the function, like
> volatile void func(..);
> Theoretically, this would tell the compiler not to omit seemingly superfluous calls to func.
'volatile' can't apply to a function, so I'm not sure what you mean. In your example, 'volatile' modifies
2013 Jun 05
1
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 5:20 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> I tried the "extern" specifier, which (I guess) you should use if the definition isn't in the file; and it worked with -O3.
That 'extern' doesn't do anything - it's implicit. Did you try without it and get different results? In my test here with the Mac OS X dev tools
2013 Jun 05
1
[LLVMdev] bug or expected behaviour?
On Jun 5, 2013, at 7:50 AM, John Regehr <regehr at cs.utah.edu> wrote:
>> The optimizer can therefore conclude that if this program has well-defined behavior, then x can never point to the null pointer constant (since the null pointer constant is not part of any array object). As a result, the "if (!x)" branch would never trigger, and is dead code.
>
> This is
2013 Jun 04
2
[LLVMdev] bug or expected behaviour?
...output (both example-optimized.s and example-unoptimized.s) in case that's helpful. Thanks for any insight!
Oh - almost forgot - version information from the compiler:
$ ./clang --version
clang version 3.4 (trunk 183249)
Target: arm-none--eabi
Thread model: posix
--
Carl Norum
carl at lytro.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: example-optimized.s
Type: application/octet-stream
Size: 273 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130604/06452103/attachment.obj>
-------------- next part...
2013 Jun 05
4
[LLVMdev] bug or expected behaviour?
On 6/4/2013 7:31 PM, David Mirabito wrote:
> Hi Carl,
>
> I don't know much about the specifics of any given optimisation, but if you do something like the following, you can at least see which optimisation pass is responsible.
> At the very least perhaps that can point to the next place to investigate. (also interesting to note Apple's shipped clang doesn't exhibit this
2012 Aug 17
1
[LLVMdev] MIPS & GP register
On Aug 16, 2012, at 10:58 AM, Eli Friedman wrote:
> That's weird... you're probably triggering some sort of bad case in
> the driver logic which tries to call gcc to assemble and link on
> targets where we don't know what to do. That logic is generally a bit
> shaky to begin with.
It sounds like that means "time to file a bug". =) Which product should I file
2013 Jun 04
2
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 4:23 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> If this were a problem with an omitted statement involving a normal variable, I'd guess you're missing a volatile qualifier. I'm not 100% sure volatile is a valid qualifier for functions, but try it.
Well, yes, if I change the signature to:
void test(char * volatile x)
It works, but