similar to: [LLVMdev] Instcombine increases the number of instructions?

Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] Instcombine increases the number of instructions?"

2012 Jun 27
0
[LLVMdev] Instcombine increases the number of instructions?
Hi Rafael, > Can the Instcombine pass increase the number of instructions of a block? while it usually doesn't, in theory it can increase the number of LLVM IR instructions. I don't recall an example off the top of my head, but the usual situation is that replacing some instruction I with a pair J, K results in better code generation. There are a small number of cases like this.
2012 Jun 27
1
[LLVMdev] Instcombine increases the number of instructions?
I perform the Instcombine pass over Rijndael benchmark from Mibench ( suite of benchmarks). For compile, I use "-Instcount" for counting the instructions. Comparing the bench without transformation with the bench transformed by instcombine, I perceived a 10% of increase in the number of instructions. This is possible? On Wed, Jun 27, 2012 at 4:57 AM, Duncan Sands <baldrick at
2011 Sep 14
0
[LLVMdev] Fwd: LLVM IR Branchs
Hello, I created a new block for execution to continue, but I got the case in which a statement defined in a block is used in another, not dominate all uses. For example: entry: %n_addr = alloca i32, align 4 %retval = alloca i32 %"alloca point" = bitcast i32 0 to i32 store i32 %n, i32* %n_addr %0 = call i32 (i8*, ...)* @printf(i8* noalias getelementptr inbounds ([20 x i8]*
2011 Sep 06
2
[LLVMdev] Fwd: LLVM IR Branchs
Ok! I do understand. Thanks by help! 2011/9/5 Justin Holewinski <justin.holewinski at gmail.com> > On Mon, Sep 5, 2011 at 8:37 PM, Rafael Baldiati Parizi < > parizi.computacao at gmail.com> wrote: > >> Yes, that's how I'm doing now ... create a new block where the execution >> flow will continue after the shift, following the basics of basic blocks.
2011 Sep 06
2
[LLVMdev] Fwd: LLVM IR Branchs
Yes, that's how I'm doing now ... create a new block where the execution flow will continue after the shift, following the basics of basic blocks. But, I want to find a way to reduce the number of block of my code. 2011/9/5 Nick Lewycky <nicholas at mxc.ca> > Rafael Baldiati Parizi wrote: > >> I have two values and I want see if them are equals. Then, I would a >>
2011 Sep 06
0
[LLVMdev] Fwd: LLVM IR Branchs
On Mon, Sep 5, 2011 at 8:37 PM, Rafael Baldiati Parizi < parizi.computacao at gmail.com> wrote: > Yes, that's how I'm doing now ... create a new block where the execution > flow will continue after the shift, following the basics of basic blocks. > But, I want to find a way to reduce the number of block of my code. Why do you want to reduce the number of LLVM IR blocks?
2011 Sep 14
1
[LLVMdev] Fwd: LLVM IR Branchs
Sorry, %3 instead of %4. 2011/9/14 Rafael Baldiati Parizi <parizi.computacao at gmail.com> > Hello, > I created a new block for execution to continue, but I got the case in > which a statement defined in a block is used in another, not dominate all > uses. > For example: > > entry: > %n_addr = alloca i32, align 4 > %retval = alloca i32 > %"alloca
2011 Sep 06
0
[LLVMdev] Fwd: LLVM IR Branchs
Rafael Baldiati Parizi wrote: > I have two values and I want see if them are equals. Then, I would a > instruction like > if Value1 != Value2, error > without create a new block, continuing the execution in the same block, > forcing the LLI to execute this. You can not. The definition of a "basic block" is a sequence of instructions with a single entry and a single exit.
2012 Jun 12
1
[LLVMdev] output -stats to file.txt
I already did. What I need is to have this output in a txt file. On Tue, Jun 12, 2012 at 5:31 PM, Villmow, Micah <Micah.Villmow at amd.com>wrote: > Add an optimization level and you get information.**** > > D:\ >opt -stats temp.bc -o tmp.bc2**** > > ** ** > > D:\ >opt -stats temp.bc -o tmp.bc2 -O3**** > > >
2011 Sep 06
5
[LLVMdev] Fwd: LLVM IR Branchs
I have two values and I want see if them are equals. Then, I would a instruction like if Value1 != Value2, error without create a new block, continuing the execution in the same block, forcing the LLI to execute this. 2011/9/5 Eli Friedman <eli.friedman at gmail.com> > On Mon, Sep 5, 2011 at 4:47 PM, Rafael Baldiati Parizi > <parizi.computacao at gmail.com> wrote: > >
2012 Feb 24
2
[LLVMdev] Generate Executable to Mips
You will need to install a cross compiler. I think you can find one somewhere in this link: https://sourcery.mentor.com/GNUToolchain/ Once you have a cross compiler, this should do what you want (if you want little-endian code): clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -O3 hello.c -o hello.bc -emit-llvm llc -march=mipsel hello.bc -o hello.s mips-linux-gnu-gcc hello.s -o hello
2012 Feb 27
0
[LLVMdev] Generate Executable to Mips
Thanks Akira, it worked! On Thu, Feb 23, 2012 at 10:01 PM, Akira Hatanaka <ahatanak at gmail.com> wrote: > You will need to install a cross compiler. > I think you can find one somewhere in this link: > https://sourcery.mentor.com/GNUToolchain/ > > Once you have a cross compiler, this should do what you want (if you > want little-endian code): > > clang -target
2012 Feb 28
3
[LLVMdev] Generate Executable to Mips
There is also: 1) an alternate clang driver at http://code.google.com/p/alternate-clang-driver/ . This makes it more or less gcc compatible. 2) there is a way to invoke it all directly with just a call to clang as is with x86/linux but it's not totally finished. i will try and post something about this. the direct form will work if you are on a mips linux machine but there are still some
2012 Jun 12
0
[LLVMdev] output -stats to file.txt
Add an optimization level and you get information. D:\ >opt -stats temp.bc -o tmp.bc2 D:\ >opt -stats temp.bc -o tmp.bc2 -O3 ===-------------------------------------------------------------------------=== ... Statistics Collected ... ===-------------------------------------------------------------------------=== 1 cgscc-passmgr - Maximum CGSCCPassMgr iterations on
2012 Feb 24
0
[LLVMdev] Generate Executable to Mips
This is true? *clang*/*llvm* *cannot* produce *mips* object *code* or executable (yet). from: http://old.nabble.com/How-to-get-MIPS-from-clang-%2B-llvm---td32822926.html On Thu, Feb 23, 2012 at 8:37 PM, Rafael BP <parizi.computacao at gmail.com>wrote: > Hi, > How can I generate executable to mips with llvm-gcc. > I'm using Ilvm-2.9, X86PC and the following commands: > >
2012 Jun 12
2
[LLVMdev] output -stats to file.txt
Yes, I've tried and it did not work On Tue, Jun 12, 2012 at 4:03 PM, Villmow, Micah <Micah.Villmow at amd.com>wrote: > Have you tried "opt -stats bitecode.bc > test.txt"?**** > > ** ** > > *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On > Behalf Of *Rafael Parizi > *Sent:* Tuesday, June 12, 2012 11:36 AM > *To:*
2012 Feb 28
0
[LLVMdev] Generate Executable to Mips
Great Job! If I use alternate-clang-driver, will I need mips-gcc still? I mean alternate-clang-driver use as&ld directly or by calling gcc? Regards, Jia Liu On Tue, Feb 28, 2012 at 10:39 AM, reed kotler <rkotler at mips.com> wrote: > There is also: > > 1) an alternate clang driver at > http://code.google.com/p/alternate-clang-driver/ . This makes > it more or less gcc
2011 Sep 06
0
[LLVMdev] Fwd: LLVM IR Branchs
On Mon, Sep 5, 2011 at 5:13 PM, Rafael Baldiati Parizi <parizi.computacao at gmail.com> wrote: > I have two values and I want see if them are equals. Then, I would a > instruction like > if Value1 != Value2, error > without create a new block, continuing the execution in the same block, > forcing the LLI to execute this. You can't do that; a br instruction must be at the
2012 Mar 06
0
[LLVMdev] Assembly Mips from bitecode llvm
Ok. And what does llvm-gcc --version show? --- With best regards, Anton Korobeynikov On Mar 6, 2012 5:22 PM, "Rafael Parizi" <parizi.computacao at gmail.com> wrote: > > For compile and link Basicmath files (using shell script): > > llvm-gcc -emit-llvm basicmath_small.c -c -o basicmath_small.bc > llvm-gcc -emit-llvm cubic.c -c -o cubic.bc > llvm-gcc -emit-llvm
2012 Feb 23
2
[LLVMdev] Generate Executable to Mips
Hi, How can I generate executable to mips with llvm-gcc. I'm using Ilvm-2.9, X86PC and the following commands: llvm-gcc -emit-llvm hello.c -c -o hello.bc (OK) llc -march=mips hello.bc -o hello.s (OK) gcc hello.s -o hello (does not work). Thanks, -- *Rafael Parizi* -------------- next part -------------- An HTML attachment was scrubbed... URL: