similar to: [LLVMdev] How to write optimizer loop

Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] How to write optimizer loop"

2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Hi, Sean: I'm sorry I lie. I didn't mean to lie. I did try to avoid making a *BIG* change to the IPO pass-ordering for now. However, when I make a minor change to populateLTOPassManager() by separating module-pass and non-module-passes, I saw quite a few performance difference, most of them are degradations. Attacking these degradations one by one in a piecemeal manner is wasting
2006 Sep 03
0
[LLVMdev] llvm-gcc4: Enable various optimizations at -O1/-O2
Hi All, I have installed llvm-gcc4 patch to enable various llvm optimizations at -O1/-O2/-O3. This means instead of $ llvm-gcc4 --emit-llvm foo.c -o foo.bc $ opt foo.bc -o foo_optimized.bc $ llc foo_optimized.bc -o foo.o One can directly use $ llvm-gcc4 -O2 foo.c -o foo.o to get optimized foo.o - Devang + + if (optimize > 0) { + + +
2008 May 20
4
[LLVMdev] Optimization passes organization and tradeoffs
Hi all, I'm getting more impressed by LLVM day by day, but what's a bit unclear to me now is the order of optimization passes, and their performance. I think I have a pretty solid understanding of what each pass does at a high level, but I couldn't find any documentation about how they interact at a lower level. I'd like to use LLVM for generating high-performance stream
2013 Jul 18
3
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Andy and I briefly discussed this the other day, we have not yet got chance to list a detailed pass order for the pre- and post- IPO scalar optimizations. This is wish-list in our mind: pre-IPO: based on the ordering he propose, get rid of the inlining (or just inline tiny func), get rid of all loop xforms... post-IPO: get rid of inlining, or maybe we still need it, only
2008 Apr 16
2
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
Hi Devang, > You can do inlining even when flag_unit_at_a_time is off. And one can > enable unit-at-a-time without enabling any optimizations. The unit-at- > a-time is not meant to select optimization passes, though it may > influence selection. this flag is used quite a bit in llvm-backend.cpp, for example: if (flag_unit_at_a_time) {
2009 Mar 14
0
[LLVMdev] Strange LLVM Crash
Ok, well, I seem to have pinpointed the cause of the problem more accurately. I'm running some optimization passes on my module after I compile each function in my scripting language (functions can be compiled at various times, when scripts are loaded). Now it seems these optimization passes will prune some of the native C++ functions I'm registering in my module (the functions that
2008 Apr 16
0
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
On Apr 16, 2008, at 1:02 PM, Duncan Sands wrote: > Hi Devang, > >> You can do inlining even when flag_unit_at_a_time is off. And one can >> enable unit-at-a-time without enabling any optimizations. The unit- >> at- >> a-time is not meant to select optimization passes, though it may >> influence selection. > > this flag is used quite a bit in
2008 Apr 17
4
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
Hi Devang, > > this flag is used quite a bit in llvm-backend.cpp, for example: > > > > if (flag_unit_at_a_time) { > > PM->add(createGlobalOptimizerPass()); // Optimize out > > global vars > > PM->add(createGlobalDCEPass()); // Remove unused > > fns and globs > >
2013 Jan 08
1
[LLVMdev] LTO "bug" and Clang warnings
Hi Duncan, Ok, I found that even if main() does reference foo, setup() still gets chopped off and the results is the unexpected: Foo: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Bar: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Baz: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 So, while there is the issue in LTO, I still think Clang could give a warning. This is a source of buffer overflow
2009 Mar 14
2
[LLVMdev] Strange LLVM Crash
Nyx wrote: > Ok, well, I seem to have pinpointed the cause of the problem more accurately. > I'm running some optimization passes on my module after I compile each > function in my scripting language (functions can be compiled at various > times, when scripts are loaded). Now it seems these optimization passes will > prune some of the native C++ functions I'm registering in
2009 Mar 14
0
[LLVMdev] Strange LLVM Crash
The linkage type is set to external, I have little code snippet I use to register those native functions in the first post of this topic. The global DCE pass deletes the unused native functions when run. I commented it out for now... Nick Lewycky wrote: > > Nyx wrote: >> Ok, well, I seem to have pinpointed the cause of the problem more >> accurately. >> I'm running
2009 Mar 15
0
[LLVMdev] Strange LLVM Crash
I don't know how to do that. Rather new to LLVM. The functions that get stripped out are native C++ functions that I'm registering in my execution engine by doing: // Create a function type object for the function llvm::FunctionType* pFuncType = llvm::FunctionType::get(returnType, argTypes, false); // Create a function object with external linkage and the specified
2010 Mar 02
2
[LLVMdev] make SHARED_LIBRARY=1 broken?
Hi, Until recently I've been building LLVM with SHARED_LIBRARY=1. However, sith current svn, build now fails with unresolved symbols building opt. I've done a clean checkout, configure and make so it's not down to any local changes I've made. I'm building with: ./configure --enable-assertions \ --enable-expensive-checks=no \ --enable-pic \ --enable-targets=host-only \
2010 Mar 02
0
[LLVMdev] make SHARED_LIBRARY=1 broken?
I suspect my change adding --enable-shared broke you, since that configure option didn't exist before last week (r97119). SHARED_LIBRARY is not one of the variables you're supposed to be able to set on make's command line (http://llvm.org/docs/MakefileGuide.html#variables). What are you using it for? What happens if you remove it? On Tue, Mar 2, 2010 at 1:35 PM, James Williams
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
Hi, I'm trying to build llvm on a Solaris/Sparc machine. I get many undefined symbols during the link phase of opt. The link command being run is below. It is identical to the link command that gets run and works on an x86 host. Thanks, Tarun g++ -I/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/include -I/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt
2009 Mar 14
3
[LLVMdev] Strange LLVM Crash
Nyx wrote: > The linkage type is set to external, I have little code snippet I use to > register those native functions in the first post of this topic. The global > DCE pass deletes the unused native functions when run. I commented it out > for now... Can you make this happen by writing a custom .ll to demonstrate the problem? For example: $ cat gdce.ll define i32 @foo() {
2010 Mar 02
4
[LLVMdev] make SHARED_LIBRARY=1 broken?
Hi, Thanks for getting back to me. I don't actually need opt dynamically linked but I do want shared libraries. If run make without "SHARED_LIBRARY=1" I don't appear to get any shared libraries built or installed. Is LLVM built as shared libraries supported? If so what's the correct build procedure? -- James On 2 March 2010 21:51, Jeffrey Yasskin <jyasskin at
2009 May 28
0
[LLVMdev] Sparse propagation framework
On Wed, May 27, 2009 at 5:26 PM, Mark Lacey <superoptimizer at gmail.com> wrote: > Hi All, > Hi Mark, > I'm relatively new to LLVM (but not optimizing compilers), and have been > reading docs and browsing code. > Bienvenue! > I noticed in the 2.4 release notes that a sparse propagation framework had > been added based on the SCCP algorithm. I might have a need for
2007 Apr 30
1
[LLVMdev] llvm-gcc build broken
I can't build llvm-gcc from working directories updated an hour ago. -Dave /tools/llvm-tools/i686-pc-linux-gnu/bin/g++ -c -g -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC -W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i686-pc-linux-gnu\" -DENABLE_LLVM
2008 Aug 11
2
[LLVMdev] Applying different Optimizations for different Functions - Questions?
Hi! I am trying to develop an LLVM tool which can apply different optimizations for selected functions. For example, I want to apply an optimization onto one function but not for another one. I am using the standard optimizations available in LLVM. That is the runOnModule function I have written: bool ComplNewBBFuncs::runOnModule(Module &M) { Function *Main =