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