search for: createsimplifylibcallspass

Displaying 19 results from an estimated 19 matches for "createsimplifylibcallspass".

2005 Jun 28
2
[LLVMdev] Re: llvm linux/PPC cfrontend
...case right now, but in the meantime, I'd like for you to try something. This should work around the problem that you're having (as well as verify that I understand the problem): Go into your LLVM source tree and comment out the following line in llvm/tools/gccas/gccas.cpp: addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations Rebuild gccas. Then, try to build the LLVM GCC frontend again. Please email the llvmdev list and let us know if it works. In the meantime, I will continue to try to get a reduced test case and either fix the bug or hand it off to Reid (the author of the C...
2013 Mar 21
2
[LLVMdev] Changing the LLVM C API to remove a pass
...om the source tree. However, there are a few C API functions for creating and managing the pass: /** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */ void LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef PMB, LLVMBool Value); /** See llvm::createSimplifyLibCallsPass function. */ void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM); Is it OK to remove these? Do I need to keep them? Or is there some sort of deprecation process? -- Meador
2005 Jun 28
0
[LLVMdev] Re: llvm linux/PPC cfrontend
On Tue, 28 Jun 2005, John Criswell wrote: > addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations > > Rebuild gccas. Then, try to build the LLVM GCC frontend again. Please email > the llvmdev list and let us know if it works. > > In the meantime, I will continue to try to get a reduced test case and either > fix the bug or hand it off...
2011 Feb 13
0
[LLVMdev] Implementing platform specific library call simplification
...code to the > simplify-libcalls pass. However this will break on targets where > iprintf() isn't available. Is there a sensible place to add information > about which library functions are available for a particular target? I'd suggest adding a bool argument (HasIPrintf) to the createSimplifyLibCallsPass function and the pass constructor. Then clang (or whatever is setting up the pass manager) can query the appropriate target info to pass down this flag. Longer term, I'd like to introduce a simple interface (via TargetRegistry) for exposing target libcall info. This would be useful to elimin...
2011 Feb 24
3
[LLVMdev] Implementing platform specific library call simplification
...simplify-libcalls pass. However this will break on targets where >> iprintf() isn't available. Is there a sensible place to add information >> about which library functions are available for a particular target? > > I'd suggest adding a bool argument (HasIPrintf) to the createSimplifyLibCallsPass function and the pass constructor. Then clang (or whatever is setting up the pass manager) can query the appropriate target info to pass down this flag. > > Longer term, I'd like to introduce a simple interface (via TargetRegistry) for exposing target libcall info. This would be useful...
2011 Feb 02
3
[LLVMdev] Implementing platform specific library call simplification
The newlib C library provides iprintf(), a restricted version of printf without support for floating-point formatting. I'd like to add an optimization which turns calls to printf() into calls to iprintf() if the format string has no floating point specifiers. At the moment I've got this working locally by adding code to the simplify-libcalls pass. However this will break on targets
2008 Jul 30
0
[LLVMdev] llvm-gcc fortran bootstrap broken
...gInfo = 0; @@ -381,7 +383,7 @@ PM->add(createFunctionInliningPass()); // Inline small functions if (optimize > 2) PM->add(createArgumentPromotionPass()); // Scalarize uninlined fn args - if (!flag_no_builtin) + if (!flag_no_simplify_libcalls) PM->add(createSimplifyLibCallsPass()); // Library Call Optimizations PM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl. PM->add(createJumpThreadingPass()); // Thread jumps.
2011 Feb 24
0
[LLVMdev] Implementing platform specific library call simplification
...lify-libcalls pass. However this will break on targets where >>> iprintf() isn't available. Is there a sensible place to add information >>> about which library functions are available for a particular target? >> I'd suggest adding a bool argument (HasIPrintf) to the createSimplifyLibCallsPass function and the pass constructor. Then clang (or whatever is setting up the pass manager) can query the appropriate target info to pass down this flag. Sorry to jump into something midstream, but I just happened to read the above paragraph and thought I should comment. Adding a boolean argumen...
2008 Jul 30
4
[LLVMdev] llvm-gcc fortran bootstrap broken
On Jul 30, 2008, at 11:39 AM, Duncan Sands wrote: > On Wednesday 30 July 2008 18:13:27 Duncan Sands wrote: >> On x86-64 linux, in stage 2, I get: >> >> c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict- >> prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno- >> variadic-macros -Wno-overlength-strings -Wold-style-definition - >>
2009 Oct 24
1
[LLVMdev] [PATCH] remove usage of RaiseAllocations pass from llvm-gcc
...============================ --- gcc/llvm-linker-hack.cpp (revision 84984) +++ gcc/llvm-linker-hack.cpp (working copy) @@ -80,7 +80,6 @@ llvm::createJumpThreadingPass(); llvm::createFunctionInliningPass(); llvm::createAlwaysInlinerPass(); - llvm::createRaiseAllocationsPass(); llvm::createSimplifyLibCallsPass(); llvm::createArgumentPromotionPass(); llvm::createDeadArgEliminationPass(); -------------- next part -------------- A non-text attachment was scrubbed... Name: RemoveRaiseAllocations.diff Type: application/octet-stream Size: 478 bytes Desc: not available URL: <http://lists.llvm.org/pi...
2013 Mar 21
0
[LLVMdev] Changing the LLVM C API to remove a pass
...ions for > creating and managing > the pass: > > /** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */ > void > LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef > PMB, > > LLVMBool Value); > > /** See llvm::createSimplifyLibCallsPass function. */ > void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM); > > > Is it OK to remove these? Do I need to keep them? Or is there some > sort of deprecation process? I think you should try to keep them. I guess LLVMAddSimplifyLibCallsPass can be changed to do nothin...
2006 Sep 03
0
[LLVMdev] llvm-gcc4: Enable various optimizations at -O1/-O2
...plificationPass()); // Clean up after IPCP & DAE + PerModulePasses->add(createPruneEHPass()); // Remove dead EH info + + if (optimize > 1) { + PerModulePasses->add(createFunctionInliningPass()); // Inline small functions + PerModulePasses->add(createSimplifyLibCallsPass()); // Library Call Optimizations + + if (optimize > 2) + PerModulePasses->add(createArgumentPromotionPass()); // Scalarize uninlined fn args + + PerModulePasses->add(createRaisePointerReferencesPass());// Recover type information + } + + PerModulePasses-...
2008 Jul 30
1
[LLVMdev] llvm-gcc fortran bootstrap broken
...PM->add(createFunctionInliningPass()); // Inline small > functions > if (optimize > 2) > PM->add(createArgumentPromotionPass()); // Scalarize > uninlined fn args > - if (!flag_no_builtin) > + if (!flag_no_simplify_libcalls) > PM->add(createSimplifyLibCallsPass()); // Library Call > Optimizations > PM->add(createInstructionCombiningPass()); // Cleanup for > scalarrepl. > PM->add(createJumpThreadingPass()); // Thread jumps.
2011 Feb 24
2
[LLVMdev] Implementing platform specific library call simplification
...s pass. However this will break on targets where >>>> iprintf() isn't available. Is there a sensible place to add information >>>> about which library functions are available for a particular target? >>> I'd suggest adding a bool argument (HasIPrintf) to the createSimplifyLibCallsPass function and the pass constructor. Then clang (or whatever is setting up the pass manager) can query the appropriate target info to pass down this flag. > > Sorry to jump into something midstream, but I just happened to read the > above paragraph and thought I should comment. Adding a...
2008 Apr 16
3
[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
...-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) PM->add(createArgumentPromotionPass()); // Scalarize uninlined fn args } Shouldn't createFunctionInliningPass and createArgumentPromotionPass only be called if flag_unit_at_a_time is true? As far as I can see flag_u...
2013 Jan 02
0
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
Hi Duncan & Tobi, Thanks a lot for your interest, and for pointing out differences in GIMPLE I missed. Attached is simplified test case. Is it good? Tobi, regarding runtime alias analysis: in KernelGen we already do it along with runtime values substitution. For example: <------------------ __kernelgen_main_loop_17: compile started ---------------------> Integer args substituted:
2013 Jan 02
2
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
On 01/01/2013 02:45 PM, Duncan Sands wrote: > Hi Dmitry, > >> >> In our compiler we use a modified version LLVM Polly, which is very >> sensitive to >> proper code generation. Among the number of limitations, the loop region >> (enclosed by phi node on induction variable and branch) is required to >> be free >> of additional memory-dependent
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
...allelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createBitcodeWriterPass(llvm::raw_ostream&) /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::TargetData::ID /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createSimplifyLibCallsPass() /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createLoopDependenceAnalysisPass() /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::CallGraphLinkVar /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Ass...
2007 Apr 30
1
[LLVMdev] llvm-gcc build broken
...cts/compiler/llvm-gcc/gcc/llvm-backend.cpp:299: error: `createPruneEHPass' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:303: error: `createFunctionInliningPass' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:305: error: `createSimplifyLibCallsPass' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:308: error: `createArgumentPromotionPass' was not declared in this scope /projects/compiler/llvm-gcc/gcc/llvm-backend.cpp:311: error: `createTailDuplicationPass' was not declared in this scope /projects/c...