search for: createglobaloptimizerpass

Displaying 20 results from an estimated 29 matches for "createglobaloptimizerpass".

2008 Apr 16
2
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
...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) { PM->add(createGlobalOptimizerPass()); // Optimize out global vars PM->add(createGlobalDCEPass()); // Remove unused fns and globs PM->add(createIPConstantPropagationPass()); // IP Constant Propagation PM->add(createDeadArgEliminationPass()); // Dead argument elimination } I though...
2013 Jan 08
1
[LLVMdev] LTO "bug" and Clang warnings
...give a warning. This is a source of buffer overflow attacks... While trying to define which pass was doing this, I commented out pass by pass in LTO and found that commenting some of them would produce a seg-fault in LLVM (haven't checked further, though), but I know that is one of: PM.add(createGlobalOptimizerPass()); PM.add(createConstantMergePass()); PM.add(createDeadArgEliminationPass()); PM.add(createInstructionCombiningPass()); // Inline small functions if (RunInliner) PM.add(createFunctionInliningPass()); PM.add(createPruneEHPass()); // Remove dead EH info. if (RunInliner) PM....
2009 Mar 14
0
[LLVMdev] Strange LLVM Crash
...ning: passManager.add(new llvm::TargetData(s_pModule)); passManager.add(llvm::createLowerSetJmpPass()); passManager.add(llvm::createRaiseAllocationsPass()); passManager.add(llvm::createCFGSimplificationPass()); passManager.add(llvm::createPromoteMemoryToRegisterPass()); passManager.add(llvm::createGlobalOptimizerPass()); passManager.add(llvm::createGlobalDCEPass()); passManager.add(llvm::createFunctionInliningPass()); I would like to know either which pass does this (global optimizer maybe?) so I can disable it, or what flag I can set on my C++ function objects to keep them from being pruned out. -- View th...
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 > > PM->add(createIPConstantPropagationPass()); // IP Constant > > Propagation > > PM->add(createDeadArgElim...
2009 Mar 14
2
[LLVMdev] Strange LLVM Crash
...ew llvm::TargetData(s_pModule)); > passManager.add(llvm::createLowerSetJmpPass()); > passManager.add(llvm::createRaiseAllocationsPass()); > passManager.add(llvm::createCFGSimplificationPass()); > passManager.add(llvm::createPromoteMemoryToRegisterPass()); > passManager.add(llvm::createGlobalOptimizerPass()); > passManager.add(llvm::createGlobalDCEPass()); > passManager.add(llvm::createFunctionInliningPass()); > > I would like to know either which pass does this (global optimizer maybe?) > so I can disable it, or what flag I can set on my C++ function objects to > keep them from...
2008 Apr 16
0
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
...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) { > PM->add(createGlobalOptimizerPass()); // Optimize out > global vars > PM->add(createGlobalDCEPass()); // Remove unused > fns and globs > PM->add(createIPConstantPropagationPass()); // IP Constant > Propagation > PM->add(createDeadArgEliminationPass()); // Dead arg...
2010 Mar 02
2
[LLVMdev] make SHARED_LIBRARY=1 broken?
...510): undefined reference to `llvm::createStripDeadPrototypesPass()' opt.cpp:(.text+0x525): undefined reference to `llvm::createDeadTypeEliminationPass()' opt.cpp:(.text+0x54a): undefined reference to `llvm::createConstantMergePass()' opt.cpp:(.text+0x57d): undefined reference to `llvm::createGlobalOptimizerPass()' opt.cpp:(.text+0x5a7): undefined reference to `llvm::createDeadArgEliminationPass()' opt.cpp:(.text+0x5e6): undefined reference to `llvm::createPruneEHPass()' opt.cpp:(.text+0x64d): undefined reference to `llvm::createArgumentPromotionPass(unsigned int)' opt.cpp:(.text+0x668): un...
2009 Mar 14
5
[LLVMdev] Strange LLVM Crash
I'm implementing a JIT and getting some strange crashes. I'm unsure exactly what's causing them, but it seems to occur when I call the getReturnType() method on some LLVM function objects. More precisely, I'm registering some native C++ functions as LLVM functions through the addGlobalMapping method of an execution engine object. I then keep a pointer to those LLVM function
2009 Mar 14
0
[LLVMdev] Strange LLVM Crash
...s_pModule)); >> passManager.add(llvm::createLowerSetJmpPass()); >> passManager.add(llvm::createRaiseAllocationsPass()); >> passManager.add(llvm::createCFGSimplificationPass()); >> passManager.add(llvm::createPromoteMemoryToRegisterPass()); >> passManager.add(llvm::createGlobalOptimizerPass()); >> passManager.add(llvm::createGlobalDCEPass()); >> passManager.add(llvm::createFunctionInliningPass()); >> >> I would like to know either which pass does this (global optimizer >> maybe?) >> so I can disable it, or what flag I can set on my C++ function o...
2010 Mar 02
0
[LLVMdev] make SHARED_LIBRARY=1 broken?
...llvm::createStripDeadPrototypesPass()' > opt.cpp:(.text+0x525): undefined reference to > `llvm::createDeadTypeEliminationPass()' > opt.cpp:(.text+0x54a): undefined reference to > `llvm::createConstantMergePass()' > opt.cpp:(.text+0x57d): undefined reference to > `llvm::createGlobalOptimizerPass()' > opt.cpp:(.text+0x5a7): undefined reference to > `llvm::createDeadArgEliminationPass()' > opt.cpp:(.text+0x5e6): undefined reference to `llvm::createPruneEHPass()' > opt.cpp:(.text+0x64d): undefined reference to > `llvm::createArgumentPromotionPass(unsigned int)'...
2009 Mar 14
3
[LLVMdev] Strange LLVM Crash
...;> passManager.add(llvm::createLowerSetJmpPass()); >>> passManager.add(llvm::createRaiseAllocationsPass()); >>> passManager.add(llvm::createCFGSimplificationPass()); >>> passManager.add(llvm::createPromoteMemoryToRegisterPass()); >>> passManager.add(llvm::createGlobalOptimizerPass()); >>> passManager.add(llvm::createGlobalDCEPass()); >>> passManager.add(llvm::createFunctionInliningPass()); >>> >>> I would like to know either which pass does this (global optimizer >>> maybe?) >>> so I can disable it, or what flag I can s...
2013 Jan 08
0
[LLVMdev] LTO "bug" and Clang warnings
Hi Renato, On 08/01/13 17:16, Renato Golin wrote: > After looking at the Livermore for a while, we found the issue that was causing > LTO to produce a different result. > > Consider the code below [1]. setup() doesn't touch bar/baz, main() doesn't > reference foo. LTO finds, correctly, I don't think this is correct. At the LLVM IR level it is valid to write into bar
2009 Mar 15
0
[LLVMdev] Strange LLVM Crash
...er.add(llvm::createLowerSetJmpPass()); >>>> passManager.add(llvm::createRaiseAllocationsPass()); >>>> passManager.add(llvm::createCFGSimplificationPass()); >>>> passManager.add(llvm::createPromoteMemoryToRegisterPass()); >>>> passManager.add(llvm::createGlobalOptimizerPass()); >>>> passManager.add(llvm::createGlobalDCEPass()); >>>> passManager.add(llvm::createFunctionInliningPass()); >>>> >>>> I would like to know either which pass does this (global optimizer >>>> maybe?) >>>> so I can disable...
2011 Mar 03
0
[LLVMdev] How to write optimizer loop
I've written an optimization loop, with the following form: PassManager lpm; lpm.add(createLoopDeletionPass()); lpm.add(createSCCPPass()); lpm.add(createAggressiveDCEPass()); lpm.add(createGlobalOptimizerPass()); lpm.add(createGlobalDCEPass()); lpm.add(createDeadStoreEliminationPass()); lpm.add(createLoopDeletionPass()); lpm.add(createInstructionCombiningPass()); lpm.add(createCFGSimplificationPass()); const int maxit = 100; int it = 0;...
2006 Sep 03
0
[LLVMdev] llvm-gcc4: Enable various optimizations at -O1/-O2
...asses->add(createRaiseAllocationsPass()); // call % malloc -> malloc inst + PerModulePasses->add(createCFGSimplificationPass()); // Clean up disgusting code + PerModulePasses->add(createPromoteMemoryToRegisterPass());// Kill useless allocas + PerModulePasses->add(createGlobalOptimizerPass()); // Optimize out global vars + PerModulePasses->add(createGlobalDCEPass()); // Remove unused fns and globs + PerModulePasses->add(createIPConstantPropagationPass());// IP Constant Propagation + PerModulePasses->add(createDeadArgEliminationPass()); // Dea...
2013 Jan 08
6
[LLVMdev] LTO "bug" and Clang warnings
After looking at the Livermore for a while, we found the issue that was causing LTO to produce a different result. Consider the code below [1]. setup() doesn't touch bar/baz, main() doesn't reference foo. LTO finds, correctly, that it can remove the setup(), but the result is different. The code is clearly wrong, but the compiler has no right to fix user's stupidity, even at that
2008 Apr 16
0
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
On Apr 15, 2008, at 11:49 PM, Duncan Sands wrote: > As far as I can see flag_unit_at_a_time > is used to control whether inter-procedural/whole-module passes are > scheduled. 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
2008 Apr 16
3
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
In llvm-backend.cpp I see: if (optimize > 1) { if (flag_inline_trees > 1) // respect -fno-inline-functions PM->add(createFunctionInliningPass()); // Inline small functions if (flag_unit_at_a_time && !lang_hooks.flag_no_builtin()) PM->add(createSimplifyLibCallsPass()); // Library Call Optimizations if (optimize > 2)
2010 Mar 02
4
[LLVMdev] make SHARED_LIBRARY=1 broken?
...sPass()' > > opt.cpp:(.text+0x525): undefined reference to > > `llvm::createDeadTypeEliminationPass()' > > opt.cpp:(.text+0x54a): undefined reference to > > `llvm::createConstantMergePass()' > > opt.cpp:(.text+0x57d): undefined reference to > > `llvm::createGlobalOptimizerPass()' > > opt.cpp:(.text+0x5a7): undefined reference to > > `llvm::createDeadArgEliminationPass()' > > opt.cpp:(.text+0x5e6): undefined reference to `llvm::createPruneEHPass()' > > opt.cpp:(.text+0x64d): undefined reference to > > `llvm::createArgumentPromotio...
2015 Jun 04
5
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 3:58 PM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > > > Personally, I think the right approach is to add a bool to > createGlobalDCEPass defaulting to true named something like > IsAfterInlining. In most standard pass pipelines, GlobalDCE runs after > inlining for obvious reasons, so the default makes sense. The special case > is