Displaying 15 results from an estimated 15 matches for "createconstantmergepass".
2008 Sep 30
1
[LLVMdev] Can't add Merge Duplicate Global Constants pass
Hi
I have a program similar to kaleidoscope with same optimization passes.
It works fine. But when I tried to add Constant Merge Pass with a line:
OurFPM.add(createConstantMergePass());
the program died with segmentation fault.
Then I tried to add the same line to native kaleidoscope from
http://llvm.org/docs/tutorial/LangImpl4.html and I've got
the same segmentation fault.
The backtrace log from gdb is:
#0 0x085609e7 in llvm::ModulePass::assignPassManager ()
#1 0x0856...
2010 Mar 02
2
[LLVMdev] make SHARED_LIBRARY=1 broken?
...llvm-trunk/llvm/tools/opt/Release/opt.o: In function `T.1603':
opt.cpp:(.text+0x510): 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 refere...
2010 Mar 02
0
[LLVMdev] make SHARED_LIBRARY=1 broken?
...ase/opt.o: In function `T.1603':
> opt.cpp:(.text+0x510): 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:(...
2013 Jan 08
1
[LLVMdev] LTO "bug" and Clang warnings
...ffer 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.add(createGlobalOptimizerPass());
P...
2006 Sep 03
0
[LLVMdev] llvm-gcc4: Enable various optimizations at -O1/-O2
...eEliminationPass()); // Delete
dead stores
+ PerModulePasses->add(createAggressiveDCEPass()); // SSA
based 'Aggressive DCE'
+ PerModulePasses->add(createCFGSimplificationPass()); // Merge
& remove BBs
+
+ if (optimize > 1)
+ PerModulePasses->add(createConstantMergePass()); //
Merge dup global constants
+ }
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
2010 Mar 02
4
[LLVMdev] make SHARED_LIBRARY=1 broken?
...':
> > opt.cpp:(.text+0x510): 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::createPruneEHP...
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
2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...+ MPM.add(createGlobalOptimizerPass()); // Optimize out global vars
+ MPM.add(createIPSCCPPass()); // IP SCCP
+ MPM.add(createDeadArgEliminationPass()); // Dead argument elimination
+ MPM.add(createGlobalDCEPass()); // Remove dead fns and globals.
+ MPM.add(createConstantMergePass()); // Merge dup global constants
+ }
+}
+
+void PassManagerBuilder::populateIPOPassManager(PassManagerBase &PM,
bool Internalize,
- bool RunInliner,
-...
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
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
2015 Jun 05
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 5:33 PM, Reid Kleckner <rnk at google.com> wrote:
> On Thu, Jun 4, 2015 at 5:17 PM, Teresa Johnson <tejohnson at google.com> wrote:
>>
>> Agreed. Although I assume you mean invoke the new pass under a
>> ThinLTO-only option so that avail extern are not dropped in the
>> compile pass before the LTO link?
>
>
> No, this pass
2015 Jun 08
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
...ilable externally globals.
+ // Eventually they will be suppressed during codegen, but eliminating
+ // here is a compile-time savings.
+ MPM.add(createElimAvailExternPass());
+ }
MPM.add(createGlobalDCEPass()); // Remove dead fns and globals.
MPM.add(createConstantMergePass()); // Merge dup global constants
}
-------------- next part --------------
Index: include/clang/Driver/Options.td
===================================================================
--- include/clang/Driver/Options.td (revision 237590)
+++ include/clang/Driver/Options.td (working copy)
@@...
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
...+Asserts/opt.o
llvm::AliasSetTracker::add(llvm::Value*, unsigned long long, llvm::MDNode
const*)/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::createCFGSimplificationPass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::createConstantMergePass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::PassManager::~PassManager()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::PassManager::PassManager()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+...
2007 Apr 30
1
[LLVMdev] llvm-gcc build broken
...er/llvm-gcc/gcc/llvm-backend.cpp:336: error:
`createDeadStoreEliminationPass' was not declared in this scope
/projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:337: error:
`createAggressiveDCEPass' was not declared in this scope
/projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:341: error:
`createConstantMergePass' was not declared in this scope
/projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:342: error:
`createStripDeadPrototypesPass' was not declared in this scope
/projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:348: error: expected
type-specifier before `WriteBytecodePass'
/projects/compile...