Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Run-time optimization using profile data"
2008 Sep 20
0
[LLVMdev] Run-time optimization using profile data
On Sat, Sep 20, 2008 at 12:12 PM, madiyaan <ahmadsharif at hotmail.com> wrote:
> Hello:
>
> I am new to llvm. I am looking for an example somewhere, or a
> walkthrough/guide on how to do runtime optimization using llvm. Ideally, I
> would like to:
>
> 1. Compile the program from C to LLVM or native with LLVM information
> embedded in the binary.
> 2. Run the binary
2009 Sep 17
2
[LLVMdev] Forcing function inline not working
Thanks for your message. However, even with using version 2.5 of llvm the
function is not inlined. Can you try this with your llvm with the same opt
flags, which are as follows?
-O3 -debug-only=inline -mem2reg
If it does work for you, can you tell me the exact flags you used for clang
or llvm-gcc to produce the .bc file and the exact flags you specified when
you invoked opt?
Does the inlining
2005 Apr 21
2
[LLVMdev] Control Flow and Locks when JITing Functions
I just located a concurrency error in my LLVM patch to add locks to the
JIT. I did not add any locks to the JITResolver class in JITEmitter.cpp,
which clearly is a problem since This particular issue causes an
assertion failure on occasion when running a task that spawns threads on
a parallel machine. Any recommendations about if I am doing something
that seems horribly wrong are welcome. I'll
2013 Jun 15
0
[LLVMdev] RFC - Profile Guided Optimization in LLVM
Apple folks are also gearing up to push on the PGO front. We are primarily interested in using instrumentation, rather than sampling, to collect profile info. However, I suspect the way profile ended up being used in the various optimization and codegen passes would be largely similar.
There is also some interests in pursuing profile directed specialization. But that can wait. I think it makes
2013 Jun 12
2
[LLVMdev] RFC - Profile Guided Optimization in LLVM
>
> After the basic profile-based transformations are working, I would like to
> add new sources of profile. Mainly, I am thinking of implementing Auto
> FDO.
>
For those who are not familiar with what autoFDO is -- Auto FDO is
originally called Sample Based FDO. Its main author is Dehao Chen @google,
and Robert Hundt is the one of the main pushers of technology in Google.
The
2013 Jun 18
2
[LLVMdev] RFC - Profile Guided Optimization in LLVM
On Tue, Jun 18, 2013 at 11:19 AM, Bob Wilson <bob.wilson at apple.com> wrote:
>
> On Jun 17, 2013, at 6:54 AM, Diego Novillo <dnovillo at google.com> wrote:
>
>> On 2013-06-15 14:18 , Evan Cheng wrote:
>>> Apple folks are also gearing up to push on the PGO front. We are primarily interested in using instrumentation, rather than sampling, to collect profile info.
2005 Apr 21
0
[LLVMdev] Control Flow and Locks when JITing Functions
On Thu, 21 Apr 2005, Evan Jones wrote:
> I just located a concurrency error in my LLVM patch to add locks to the
> JIT. I did not add any locks to the JITResolver class in JITEmitter.cpp,
> which clearly is a problem since This particular issue causes an
> assertion failure on occasion when running a task that spawns threads on
> a parallel machine. Any recommendations about if I am
2013 Jun 18
0
[LLVMdev] RFC - Profile Guided Optimization in LLVM
On Jun 17, 2013, at 6:54 AM, Diego Novillo <dnovillo at google.com> wrote:
> On 2013-06-15 14:18 , Evan Cheng wrote:
>> Apple folks are also gearing up to push on the PGO front. We are primarily interested in using instrumentation, rather than sampling, to collect profile info. However, I suspect the way profile ended up being used in the various optimization and codegen passes
2010 Feb 16
2
[LLVMdev] Work in progress patch to bug 2606
The patch I recently attached to bug 2606, reproduced here, is my first attempt to solve this issue
as represented by the attached test cases. To solve the foreign Module GlobalVariable problem,
I modified JIT::getOrEmitGlobalVariable(...) to directly attempt to map a found "external" GlobalVariable.
To solve the foreign Module Function problem, I modified both JIT.{h,cpp} and
2013 Jun 17
5
[LLVMdev] RFC - Profile Guided Optimization in LLVM
On 2013-06-15 14:18 , Evan Cheng wrote:
> Apple folks are also gearing up to push on the PGO front. We are
> primarily interested in using instrumentation, rather than sampling,
> to collect profile info. However, I suspect the way profile ended up
> being used in the various optimization and codegen passes would be
> largely similar.
>
Excellent! We are initially
2017 Jun 09
3
Showing hotness in LLVM optimization remarks using AutoFDO sampling profile data?
Hello!
(+cc Adam Nemet, since he presented on optimization remarks at LLVM Dev Mtg
2016)
I have a large C++ program, which I am compiling using a sampling profile
generated via perf and AutoFDO. I'd like to use this profile in order to
show the hotness of each code path that is displayed in the new
optimization remarks viewer tool (
https://www.youtube.com/watch?v=qq0q1hfzidg).
It seems,
2009 Sep 17
2
[LLVMdev] Forcing function inline not working
I have the following code:
static inline void foo() __attribute((always_inline));
int a;
static inline void foo()
{
a++;
}
int main(int argc, char *argv[])
{
foo();
return 0;
}
However, the code generated by llvm 2.4 toolchain does not inline this
function. opt retains the function call. Here is the output when I try to
compile with -debug-only=inline:
2016 Dec 13
2
Reining in profile instrumentation
When either '-pg' or '-finstrument-functions' is used, the compiler inserts
the appropriate profiling hooks. This happens prior to inlining, so the
hooks remain in place.
Normally this is fine, but with C++ and the heavy use of inline functions
and templates, there can be a vast number of trivial functions that are
normally optimised away; but with the instrumentation hooks
2013 Jun 18
0
[LLVMdev] RFC - Profile Guided Optimization in LLVM
On Jun 18, 2013, at 2:48 PM, Eric Christopher <echristo at gmail.com> wrote:
> On Tue, Jun 18, 2013 at 11:19 AM, Bob Wilson <bob.wilson at apple.com> wrote:
>>
>> On Jun 17, 2013, at 6:54 AM, Diego Novillo <dnovillo at google.com> wrote:
>>
>>> On 2013-06-15 14:18 , Evan Cheng wrote:
>>>> Apple folks are also gearing up to push on the
2016 Dec 13
0
Reining in profile instrumentation
> On Dec 13, 2016, at 3:46 AM, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> When either ‘-pg’ or ‘-finstrument-functions’ is used, the compiler inserts the appropriate profiling hooks. This happens prior to inlining, so the hooks remain in place.
Have you tried compiling with -fprofile-generate? It enables IR-based profiling
instrumentation, which
2009 Sep 17
0
[LLVMdev] Forcing function inline not working
On Sep 16, 2009, at 6:55 PM, madiyaan wrote:
>
> I have the following code:
>
> static inline void foo() __attribute((always_inline));
>
> int a;
> static inline void foo()
> {
> a++;
> }
>
> int main(int argc, char *argv[])
> {
> foo();
> return 0;
> }
This works fine in current sources. You should upgrade; 2.5 has been
out for a while and
2016 Dec 19
1
Reining in profile instrumentation
Thanks Vedant, and my apologies for the delay getting back to you - work got "busy".
I wasn't aware of the '-fprofile-generate' option, so thanks for point this out. I have tried running it and I can see the instrumentation hooks that it generates - I assume that there is a library I have to implement to support this, can you let me know where the source for this library
2009 Sep 17
0
[LLVMdev] Forcing function inline not working
I got the code to work in a LLVM 2.5. I think the reason your code wasn't
working is that the function definition and declaration for foo were
missing 'void'. This is perfectly legal C but maybe there's a bug in the
inliner pass that sees the function in the module and the symbol table as
different. Here are the files I used:
[test.c]
int a;
void foo(void);
int main(int argc,
2010 Feb 04
2
[LLVMdev] Jit singleton
Hi everyone !
If I call ExecutionEngine::createJIT (or EngineBuilder::create) more than
one time, the second time fails on a assertion "Multiple JIT resolvers?".
It seems that the JIT is designed to be a singleton in the process, and I
was wondering if it was something mandatory.
How hard will it be to make it a non-singleton object ? Is this a JIT-only
problem (work needed on JIT
2015 May 20
2
[LLVMdev] why is coverage map and profile names mixed?
Hi
I'm referencing the method:
Lib/Transforms/Instrumentation/InstrProfiling.cpp:InstrProfiling::lowerCoverageData()
At the end of the function, why is the variable being placed in __llvm_prf_names section?
Shouldn't it be placed in __llvm_covmap section?
Thanks
Ali
-------------- next part --------------
An HTML attachment was scrubbed...
URL: