Displaying 20 results from an estimated 200 matches similar to: "[TSAN] LLVM statistics and pass initialization trigger race detection"
2005 Jul 05
0
[LLVMdev] function inlining threshold ?
On Mon, Jul 04, 2005 at 03:32:39PM -0500, Long Fei wrote:
> I am using llvm for source-to-source inlining. So I did:
>
> % llvm-gcc file_a.c file_b.c ... file_n.c -o file
> % opt -inline -inline-threshold=1000 < file.bc | llc -march=c > outfile.c
>
> Can anyone tell me how llvm determines if a function should be
> inlined, and what roll does
2005 Jul 04
2
[LLVMdev] function inlining threshold ?
I am using llvm for source-to-source inlining. So I did:
% llvm-gcc file_a.c file_b.c ... file_n.c -o file
% opt -inline -inline-threshold=1000 < file.bc | llc -march=c > outfile.c
Can anyone tell me how llvm determines if a function should be inlined,
and what roll does "inline-threshold" play ? (Does the example mean that
if the function body has fewer than 1000 instructions,
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 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
Hi,
We use LLVM libraries to compile C++ code and noticed slow downs when
multiple threads of a process were compiling at once. *perf *indicated that
most of the CPU time was spent in a spin lock, which was being
locked/unlocked from llvm::PassRegistry::getPassInfo().
We read the relevant LLVM code and found out that PassRegistry is a
ManagedStatic and is shared among all threads in case of a
2013 Apr 24
3
[LLVMdev] [PROPOSAL] per-function optimization level control
Hello,
We've had a high priority feature request from a number of our customers
to
provide per-function optimization in our Clang/LLVM compiler.
I would be interested in working with the community to implement this.
The idea is to allow the optimization level to be overridden
for specific functions.
The rest of this proposal is organized as follows:
- Section 1. describes this new feature
2012 Feb 28
0
[LLVMdev] [patch] atomic functions on darwin
Hi,
Some time in the last few weeks I noticed my cmake build of
svn-trunk on powerpc-darwin8 start to warn about atomics being unavailable
and thus building thread-unsafe. I just looked into it and found an easy
solution, using the atomic functions in <libkern/OSAtomic.h> in
/usr/include. The attached patch does this and also modifies the cmake
and autoconf tests to 'pass'
2005 Jul 07
3
[LLVMdev] Does the gcc frontend do inlining or deadcode elimination ?
I am investigating some inlining issue, so I did
llvm-gcc aaa.c bbb.c ... nnn.c -o output
opt -inline -inline-threshold=xxx < output.bc | llc -march=c >
output_inline.c
1)
I noticed that even if I set xxx to 0 or even a very small negative
number, many functions are eliminated. I am wondering if these functions
are inlined by the frontend, or identified as deadcode.
For instance,
2009 Dec 07
2
[LLVMdev] Trunk build failure
On the trunk I am getting some errors which are killing the rest of the build:
2>Atomic.cpp(49) : error C2664: 'InterlockedCompareExchange' : cannot
convert parameter 1 from 'volatile llvm::sys::cas_flag *' to 'volatile
LONG *'
2> Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast
2>Atomic.cpp(62) :
2005 Jul 11
2
[LLVMdev] Does the gcc frontend do inlining or deadcode elimination ?
This didn't work as I tried with 197.parser. it works without
"-Wl,-disable-opt" switch though.
[197.parser]$ llvm-gcc analyze-linkage.c and.c build-disjuncts.c
extract-links.c fast-match.c idiom.c main.c massage.c parse.c
post-process.c print.c prune.c read-dict.c utilities.c xalloc.c
word-file.c strncasecmp.c -Wa,-disable-opt -Wl,-disable-opt -lm -o
llvm_parser
[197.parser]$
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
2008 May 08
0
[LLVMdev] What's the BasicInliner for?
Hi all,
I was looking around in the lib/Transforms/Utils dir and ran into the
BasicInliner class. Seeing a large similarity between it and the SimpleInliner
Pass, I grep'd around for BasicInliner, but it doesn't seem to be used.
The difference between them seems that SimpleInliner is a pass that looks at
all functions, while BasicInliner is not a pass and looks only at explicitely
given
2016 Feb 25
0
Use DominatorTree from CallGraphSCCPass
Hello,
I'm trying to improve SimpleInliner to use information given by __builtin_expect instruction (It would be better to not to inline if a call instruction is unlikely to be executed). The problem here is that it is not possible to compute control dependency relationship between the annotated branch instruction and callsites using PostDominatorTree, because PostDominatorTree is a function
2005 Jul 07
0
[LLVMdev] Does the gcc frontend do inlining or deadcode elimination ?
Long Fei wrote:
>
> I am investigating some inlining issue, so I did
>
> llvm-gcc aaa.c bbb.c ... nnn.c -o output
> opt -inline -inline-threshold=xxx < output.bc | llc -march=c >
> output_inline.c
I am unsure of whether the LLVM GCC frontend does any inlining.
However, I do know that your methods above run the LLVM inlining pass,
albeit indirectly.
If you use
2010 Jul 27
2
[LLVMdev] inline callsites whose function definitions are in different file?
LLVM (2.7 release version) provides 2 implementations for inlining
function callsites:
- InlineSimple.cpp (-inline): inline simple callsites
according to its cost analysis
- InlineAlways.cpp (-always-inline): inline all callsites that are
marked with "always_inline" attribute.
They are both subclasses of Inline.cpp that assumes the function's
definition (body) is
2005 Jul 12
0
[LLVMdev] Does the gcc frontend do inlining or deadcode elimination ?
On Mon, 11 Jul 2005, Long Fei wrote:
>
> This didn't work as I tried with 197.parser. it works without
> "-Wl,-disable-opt" switch though.
>
> [197.parser]$ llvm-gcc analyze-linkage.c and.c build-disjuncts.c
> extract-links.c fast-match.c idiom.c main.c massage.c parse.c post-process.c
> print.c prune.c read-dict.c utilities.c xalloc.c word-file.c
2008 Feb 21
6
[LLVMdev] Removing inlining of library functions
I am interested in analyzing the bytecode code produced for C files.
By default, inlining of user and library functions (libc) is done. If
I turn off inlining (-disable-inlining in gccas and gccld) then no
inlining is done. I want to be able to inline user code but disallow
library code to be inlined.
In trying to understand the InlineSimple.cpp code, I see that library
functions are
2008 Feb 22
2
[LLVMdev] Removing inlining of library functions
On Thu, 21 Feb 2008, Dale Johannesen wrote:
> The defined gcc interface for this is -fno-builtin. It seems not be
> to be working in llvm-gcc, however.
Please file a reduced testcase in bugzilla,
-Chris
>
>> I am interested in analyzing the bytecode code produced for C files.
>> By default, inlining of user and library functions (libc) is done. If
>> I turn off
2010 Oct 24
4
[LLVMdev] Inlining in LLVM
Duncan:
I am only superficially familiar with LLVM structure.
What I am trying to find out is if functions that have a single invocation
are still found in the code during the compilation.
In Open64 and other compilers, there is an early inlining pass that inlines
all procedures that have a single invocation site. The reasoning is that if
there is a single call to a procedure, then there is not
2010 Jul 27
0
[LLVMdev] inline callsites whose function definitions are in different file?
On Tue, Jul 27, 2010 at 7:46 AM, Chuck Zhao <czhao at eecg.toronto.edu> wrote:
> LLVM (2.7 release version) provides 2 implementations for inlining
> function callsites:
>
> - InlineSimple.cpp (-inline): inline simple callsites
> according to its cost analysis
> - InlineAlways.cpp (-always-inline): inline all callsites that are
> marked with
2008 Feb 21
0
[LLVMdev] Removing inlining of library functions
The defined gcc interface for this is -fno-builtin. It seems not be
to be working in llvm-gcc, however.
On Feb 20, 2008, at 6:55 PM, Cristina Cifuentes wrote:
> I am interested in analyzing the bytecode code produced for C files.
> By default, inlining of user and library functions (libc) is done. If
> I turn off inlining (-disable-inlining in gccas and gccld) then no
> inlining