similar to: [LLVMdev] clang with -emit-llvm

Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] clang with -emit-llvm"

2013 Jan 05
1
[LLVMdev] Compiler opt is turned off ?
I completely agree with you. The source code I wrote here has the main function and is a complete code. That's why I was expecting load/store analysis could have been incorporated across the module. Thanks. On Fri, Jan 4, 2013 at 10:43 PM, Daniel Berlin <dberlin at dberlin.org> wrote: > I'm not sure what you mean by "use" check. > If you compile this with LTO and
2013 Jan 04
2
[LLVMdev] Compiler opt is turned off ?
Thanks for your reply. So, we don't do any "use" check (for globals variables) beyond a module scope. If so, it answers my question. On Fri, Jan 4, 2013 at 6:53 PM, Justin Holewinski < justin.holewinski at gmail.com> wrote: > Since a, b, and c are globals, how does the optimize *know* they are not > used elsewhere (e.g. another module)? > -------------- next part
2013 Jan 04
0
[LLVMdev] Compiler opt is turned off ?
I'm not sure what you mean by "use" check. If you compile this with LTO and multiple modules, and guarantee that you have the main function, yes, you could optimize this. In all other cases, it's not possible to eliminate any of the remaining loads or stores you see, because you have no guarantee about what else could read it. Heck, a conforming implementation of printf could
2013 Jan 04
2
[LLVMdev] Compiler opt is turned off ?
Hello, I was trying to run few testcases and see how llvm optmizes different scenarios. I have a small testcase like: #include <stdio.h> int a, b, c; int main() { a = b + c; c = a; if (a == b) b = c; else b = a; printf( " a = %d \n ", a ); return 0; } The corresponding llvm IR is ( clang test.c -S -emit-llvm -o -
2016 Sep 07
4
Problem with Aarch64 ?
Hello, I am facing an issue with a small test where there is a chance that sign-extension is not introduced as expected - #include <stdio.h> void func( long x ) { printf(" %ld \n", x); } int main() { char c = -1; func ( c ); // c is zero extended to x return 0; } generated IR - define i32 @main() #0 { ........ store i8 -1, i8* %c, align 1 %2 = load i8,
2006 Nov 03
3
Nortel Option 11C and SIP gateway integration
Skipped content of type multipart/mixed-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 186 bytes Desc: OpenPGP digital signature Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20061103/b35592e2/signature.pgp
2013 Jan 18
1
[LLVMdev] How to generate 32 Bit executable ?
Hello, I have a very simple input llvm IR file. I wanted to generate a 32-BIT a.out executable from this, but, couldn't make it. By default it is 64 BIT. Is there any way to dictate it from the input LLVM file or I am missing anything. The command I used : clang test.ll I tried playing with "target datalayout" but no success yet. Thanks. -------------- next part --------------
2008 Dec 28
7
Your thoughts on "Enterprise Rails"
Hello and happy holidays, everyone! I received the book "Enterprise Rails" by Dan Chak as a Christmas gift and started reading it; I wanted to gauge the community''s thoughts on this. Basically, Mr. Chak advocates a totally different approach to how every other Rails book/tutorial explains how to develop Rails applications. Firstly, he advocates you organize your
2019 Jul 03
3
optimisation issue in an llvm IR pass
Hi Craig, On 03.07.19 17:33, Craig Topper wrote: > Don't the CreateICmp calls return a Value* with an i1 type? But then > they are added to an i8 type? Not sure that works.  I had that initially: auto cf = IRB.CreateICmpULT(Incr, ConstantInt::get(Int8Ty, 1)); auto carry = IRB.CreateZExt(cf, Int8Ty); Incr = IRB.CreateAdd(Incr, carry); it makes no difference to the generated assembly
2019 Jul 03
2
optimisation issue in an llvm IR pass
Hello, I have an optimisation issue in an llvm IR pass - the issue being that unnecessary instructions are generated in the final assembly (with -O3). I want to create the following assembly snippet: mov dl,BYTE PTR [rsi+rdi*1] add dl,0x1 adc dl,0x0 mov BYTE PTR [rsi+rdi*1],dl however what is created is (variant #1): mov dl,BYTE PTR [rsi+rdx*1] add dl,0x1 cmp
2016 Mar 16
3
IRBuilder Assignment ( '=' ) operator?
However I need the standard assignment operator so I can assign the value of a temporary to that of another temporary, or to create a new temporary from an existing one. - Paul ________________________________________ From: Tim Northover <t.p.northover at gmail.com> Sent: 16 March 2016 13:11 To: Paul Hancock Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] IRBuilder Assignment (
2016 Mar 16
2
IRBuilder Assignment ( '=' ) operator?
In my code assembly system I have the various LH-RH operators, ADD, ADDF, SUB, etc, using CreateAdd, CreateFAdd, etc, however I cant seem to locate the correct function/s for the assignment operator. What's the correct function/s in the IRBuilder for assigning a value? - Paul -------------- next part -------------- An HTML attachment was scrubbed... URL:
2012 Sep 03
2
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
Dear all, Looks like the NVPTX backend cannot handle array-of-arrays contant (please see the reporocase below). Is it supposed to work? Any ideas how to get it working? Important for our target applications. Thanks, - Dima. $ cat test.ll ; ModuleID = '__kernelgen_main_module' target datalayout =
2016 Mar 16
3
IRBuilder Assignment ( '=' ) operator?
I partially worked out that to do an assign I will need to manually assign a temporary first and then load data into it, which also means I'll need to set up a temporaries list in my code assembler as allocations must be done before anything else? or is it fine to allocate a variable mid-way through a function and the compiler will manage it? With that as well, if I had a function that loads
2012 Sep 04
2
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
I think our test case demonstrates that requiring the array item being initialized to be constant is incorrect. NVPTX does not crash anymore and produces correct result with the following change: --- NVPTXAsmPrinter.cpp 2012-09-03 15:14:00.000000000 +0200 +++ NVPTXAsmPrinter.cpp 2012-09-04 15:47:17.859398193 +0200 @@ -1890,17 +1890,15 @@ case Type::ArrayTyID: case Type::VectorTyID: case
2012 Sep 04
0
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
NVCC successfully handles the same IR, if we try to process the same .cu file with clang+nvptx and nvcc: CLANG/NVPTX: ============= $ cat dayofweek.cu __attribute__((device)) char yweek[7][4] = { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" }; $ clang -cc1 -emit-llvm -fcuda-is-device dayofweek.cu -o dayofweek.ll $ cat
2011 Aug 31
0
[LLVMdev] llvm-gfortran problems
Hi Ashay, Do you need specifically llvm-gfortran that is based on gcc 4.2? Since that, DragonEgg has been introduced - a powerful plugin to gcc that makes it possible to utilize regular gcc compilers as frontends to llvm: http://dragonegg.llvm.org/ It generates Fortran90 programs for me very well. - D. 2011/9/1 Ashay Rane <ashay.rane at tacc.utexas.edu>: > Hello, > I have been
2012 Sep 06
0
[LLVMdev] [NVPTX] Backend cannot handle array-of-arrays constant
On 09/04/2012 09:57 AM, Dmitry N. Mikushin wrote: > I think our test case demonstrates that requiring the array item being > initialized to be constant is incorrect. NVPTX does not crash anymore > and produces correct result with the following change: > > --- NVPTXAsmPrinter.cpp 2012-09-03 15:14:00.000000000 +0200 > +++ NVPTXAsmPrinter.cpp 2012-09-04 15:47:17.859398193 +0200 >
2005 Jan 27
1
[LLVMdev] Question about inserting IR code
Hi, From the file HowToUseJIT.cpp, I learned how to insert some calcuation IR code like Add/Sub/Mul etc by using Instruction *Add = BinaryOperator::createAdd(One, ArgX, "addresult", BB); By following this way, it works well when I insert some IR code whose operand is integer type like IntTy, however, when I tried to insert similar thing whose operands are float point, I got the
2011 Jul 31
2
[LLVMdev] "Cannot select" error in 2.9
Gregory Junker wrote: > >> Actually, it was new in *2.6*, which was released almost two years >> ago. It's documented here: >> <http://llvm.org/releases/2.6/docs/ReleaseNotes.html#coreimprovements>. > > Interesting -- then I guess my question is why 2.8 (which is the first version of LLVM I've used) didn't flag this? > > Either way, it makes sense