Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] 64 bit MRV problem; Missed optimizations."
2011 Mar 08
0
[LLVMdev] 64 bit MRV problem; Missed optimizations.
Hi Arushi,
> I was tracking the issue discussed earlier, and I was wondering if a bug for the
> missed optimizations, was ever filed, and if it has been fixed since? If so in
> which llvm version, and more specifically which optimization pass.
>
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-January/028877.html
this doesn't really sound like an LLVM optimizer issue, it
2011 Apr 05
3
[LLVMdev] GEP vs IntToPtr/PtrToInt
On Mon, Apr 4, 2011 at 5:02 PM, Arushi Aggarwal <arushi987 at gmail.com> wrote:
>
>
>> Hi,
>> Is it correct to convert,
>> %196 = load i32* %195, align 8 ; <i32> [#uses=1]
>> %197 = zext i32 %196 to i64 ; <i64> [#uses=1]
>> %198 = ptrtoint i8* %193 to i64 ; <i64> [#uses=1]
2011 Apr 04
2
[LLVMdev] GEP vs IntToPtr/PtrToInt
On 4/4/2011 6:45 PM, Eli Friedman wrote:
> On Mon, Apr 4, 2011 at 5:02 PM, Arushi Aggarwal<arushi987 at gmail.com> wrote:
>>
>>> Hi,
>>> Is it correct to convert,
>>> %196 = load i32* %195, align 8 ;<i32> [#uses=1]
>>> %197 = zext i32 %196 to i64 ;<i64> [#uses=1]
>>> %198 =
2010 Mar 09
3
[LLVMdev] Alignment for Alloca Inst in llvm 2.6
Hi,
1. Does the alignment of the pointer returned by an AllocaInst depend on the
instructions before it in the basic block? The 1st snippet below aligns 'a'
correctly, while the 2nd one doesnt. (the method handle_args, only prints
out the values of arguments, and returns argv unchanged).
define i32 @main(i32 %argc, i8** %argv) nounwind {
entry:
%argc_addr = alloca i32
2010 Dec 13
1
[LLVMdev] How can I determine safely if a CallSite is "live" in a DSGraphs context
Hi,
I believe shouldHaveNodeForValue() should return false for
ConstantPointerNullValue.
Fixed in r121707.
Arushi
On Mon, Dec 13, 2010 at 12:10 PM, Kevin Streit
<kevin.streit at googlemail.com>wrote:
> I'm using BUDataStructures... But I tried LocalDatastructures and it didn't
> work either...
> On Dec 13, 2010 6:52 PM, "Arushi Aggarwal" <arushi987 at
2011 Aug 17
2
[LLVMdev] Is va_arg deprecated?
FWIW, attached is a similar patch that adds a -falways-use-llvm-vaarg
flag to Clang.
Applies against mainline.
(As discussed, va_arg isn't really supported well so this probably
doesn't work well on anything other than simple code, YMMV, etc)
~Will
On Thu, May 12, 2011 at 12:29 PM, Arushi Aggarwal <arushi987 at gmail.com> wrote:
> Have these changes made it to mainline? Is
2011 May 04
1
[LLVMdev] Loop-Unroll optimization
1. You should run the passes in the same opt command, for passes like loops
which is an analysis pass provides results to the following passes.
2. You can pass a -debug flag to opt to see the some debugging info.
3. I tried this
opt -mem2reg -loops -loopsimplify -loop-unroll -unroll-count=3 -debug
loop.o -o tt.bc
and got this message.
Loop Size = 14
Can't unroll; loop not terminated by
2010 Apr 21
2
[LLVMdev] Function pointers bitcasted to varargs
Hi all,
I had the following function that used function pointers with void arguments,
typedef void (*FP)();
void foo() {
printf("hello world from foo\n");
}
int main() {
FP fp;
fp = foo;
(*fp)();
}
The corresponding bitcode, with no optimizations is
target datalayout =
2011 Aug 17
2
[LLVMdev] Is va_arg deprecated?
To get clang to emit va_arg instructions for va_arg() calls, as
opposed to manually lowering it in the frontend, same as the llvm-gcc
patch sent earlier does.
~Will
On Wed, Aug 17, 2011 at 2:41 PM, Eric Christopher <echristo at apple.com> wrote:
>
> On Aug 17, 2011, at 11:53 AM, Will Dietz wrote:
>
>> FWIW, attached is a similar patch that adds a -falways-use-llvm-vaarg
2011 Aug 17
0
[LLVMdev] Is va_arg deprecated?
On Aug 17, 2011, at 11:53 AM, Will Dietz wrote:
> FWIW, attached is a similar patch that adds a -falways-use-llvm-vaarg
> flag to Clang.
>
> Applies against mainline.
>
> (As discussed, va_arg isn't really supported well so this probably
> doesn't work well on anything other than simple code, YMMV, etc)
>
> ~Will
>
> On Thu, May 12, 2011 at 12:29 PM,
2010 Apr 21
0
[LLVMdev] Function pointers bitcasted to varargs
Do you compile this as C? In C, unlike in C++, empty parenthesis do
not mean "no arguments", they mean "no prototype", which is typically
treated the same way as varargs in calling conventions. To declare
function with no arguments do typedef void (*FP)(void);
Eugene
On Wed, Apr 21, 2010 at 10:22 PM, Arushi Aggarwal <arushi987 at gmail.com> wrote:
> Hi all,
>
>
2011 May 16
2
[LLVMdev] Upgrading to llvm-2.9
Hi,
Is the RegisterPass interface still supported, or do we have to use the
INITIALIZE_PASS construct to register passes?
Thanks,
Arushi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110516/98bc0ab0/attachment.html>
2011 Apr 05
3
[LLVMdev] Incompatible types at call site
Hi,
For a call like this,
%tmp6 = call i32 (...)* bitcast (i32 (i8*, i8, i8**)* @ssplit to i32
(...)*)(i8* %tmp599, i32 46, i8** %domainv3) nounwind ; <i32>
does the 2nd argument get zero extended or sign extended?
Thanks,
Arushi
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Mar 09
0
[LLVMdev] Alignment for Alloca Inst in llvm 2.6
On 8 March 2010 19:51, Arushi Aggarwal <arushi987 at gmail.com> wrote:
>
> 2. I notice that the setAlignment method for an AllocaInst takes an
> unsigned. For 64 bit systems, alignment could potentially be larger. Is
> there a reason why the alignment should be restricted to this size?
> Thanks in advance
>
Would it ever be practical to align a stack variable to an 8 GiB
2010 Jan 25
3
[LLVMdev] 64bit MRV problem: { float, float, float} -> { double, float }
Hey everybody,
I am struggling to get rid of a problem which seems to be related to a
multi-return value optimization:
I generate bitcode for a c++-function with llvm-g++ which is then
linked, transformed and optimized at runtime using LLVM. The function
has quite a few parameters, including structs and struct-pointers with 3
float fields.
The problem is, that I require the function to preserve
2011 Apr 05
2
[LLVMdev] GEP vs IntToPtr/PtrToInt
Hi,
Is it correct to convert,
%196 = load i32* %195, align 8 ; <i32> [#uses=1]
%197 = zext i32 %196 to i64 ; <i64> [#uses=1]
%198 = ptrtoint i8* %193 to i64 ; <i64> [#uses=1]
%199 = add i64 %198, %197 ; <i64> [#uses=1]
%200 = inttoptr i64 %199 to i8* ; <i8*>
2011 Apr 05
2
[LLVMdev] Incompatible types at call site
On Tue, Apr 5, 2011 at 1:44 PM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Arushi,
>
>
> %tmp63 = call %struct.TypHeader* (...)* bitcast (%struct.TypHeader*
>> (%struct.TypHeader*, i64, i64)* @Cyclotomic to %struct.TypHeader*
>> (...)*)(%struct.TypHeader* %tmp62, i64 %tmp24, i32 1) nounwind, !dbg !907
>> ;
>> <%struct.TypHeader*> [#uses=1]
2011 Apr 05
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
On Mon, Apr 4, 2011 at 7:10 AM, John Criswell <criswell at illinois.edu> wrote:
> On 4/4/2011 6:45 PM, Eli Friedman wrote:
>>
>> On Mon, Apr 4, 2011 at 5:02 PM, Arushi Aggarwal<arushi987 at gmail.com>
>> wrote:
>>>
>>>> Hi,
>>>> Is it correct to convert,
>>>> %196 = load i32* %195, align 8
2011 Apr 05
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
This code is generated for va_arg.
%6 = getelementptr inbounds %struct.__va_list_tag* %5, i32 0, i32 3 ; <i8**>
[#uses=1]
%7 = load i8** %6, align 8 ; <i8*> [#uses=1]
%8 = getelementptr inbounds [1 x %struct.__va_list_tag]* %ap, i64 0, i64 0
; <%struct.__va_list_tag*> [#uses=1]
%9 = getelementptr inbounds %struct.__va_list_tag* %8, i32 0, i32 0 ;
2011 May 03
3
[LLVMdev] Loop-Unroll optimization
Hi,
You might want to try running -loops -loop-simplify before loop unroll.
>From loop simplify.cpp
This pass performs several transformations to transform natural loops
into a00011 // simpler form, which makes subsequent analyses and
transformations simpler and00012 // more effective.
Arushi
On Tue, May 3, 2011 at 2:17 PM, Manish Gupta <mgupta.iitr at gmail.com> wrote:
> You