Displaying 20 results from an estimated 100000 matches similar to: "[LLVMdev] [LLVMDev] Profile guided information?"
2010 Sep 29
0
[LLVMdev] [LLVMDev] Profiling information
Bump:
Does profiling / run time information exist when dealing with machine
basic blocks?
Thanks,
Jeff Kunkel
On Tue, Sep 28, 2010 at 9:51 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> How do I find the profiling or run time information for machine basic
> blocks from a machine function? There are quite a few optimization
> that may be preformed with this information, when it
2010 Sep 28
2
[LLVMdev] [LLVMDev] Profiling information
How do I find the profiling or run time information for machine basic
blocks from a machine function? There are quite a few optimization
that may be preformed with this information, when it exists.
Thanks,
Jeff Kunkel
2010 Nov 03
0
[LLVMdev] Static Profiling Algorithms in LLVM
Hi Jeff,
There is an algorithm to build the dominator tree that is O(n2),
where n is the number of nodes on the control flow graph. I believe
exists another that is linear, but I don't which one of them is
implemented in LLVM.
The problem is that the branch predictor requires post dominance
information. None of the LLVM basic passes require post dominance
information (AFAIK), hence it is
2010 Nov 03
2
[LLVMdev] Static Profiling Algorithms in LLVM
You said it was expensive, but if you had to put a big-o estimate on it,
what would it be?
-Thanks
Jeff Kunkel
On Tue, Nov 2, 2010 at 8:54 PM, Andrei Alvares <logytech at gmail.com> wrote:
> Hello Jeff,
>
> On Tue, Nov 2, 2010 at 9:17 PM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> > My god! I would love a branch predictor! It would simplify many aspects
> of
>
2010 Nov 03
0
[LLVMdev] Static Profiling Algorithms in LLVM
Hello Jeff,
On Tue, Nov 2, 2010 at 9:17 PM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> My god! I would love a branch predictor! It would simplify many aspects of
> my register allocator.
The branch predictor of the implementation is not as accurate as the
one from the paper, but it is close enough. Unfortunately, the branch
predictor is a very expensive pass, because it relies on
2010 Nov 02
2
[LLVMdev] Static Profiling Algorithms in LLVM
My god! I would love a branch predictor! It would simplify many aspects of
my register allocator.
Second, I am surprised it did not make it into the tree. Since more is being
done with register allocation as a while "RegAllocBasic" was just put in, I
hope this is looked at again.
Do you have a working svn copy?
Also, could you send me a copy/link to that '94 paper off the list
2011 Jan 20
0
[LLVMdev] [LLVMDev] Live Intervals and Finding the next usage
I am looking for the slot index of a register around the given slot index
Min. Is there a better way than the linear search:
...
findDefUsesAroundIndex( LiveInterval* li, SlotIndex Min )
...
for( MachineOperand * mo = MRI->getRegUseDefListHead(li->reg);
mo; mo = mo->getNextOperandForReg() )
{
SlotIndex si = SI->getInstructionIndex( use.getOperand().getParent() );
if(
2010 Oct 09
0
[LLVMdev] [LLVMDev] Does LLVM have a random number generator?
I forgot to cc the list.
On Sat, Oct 9, 2010 at 10:47 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> On Sat, Oct 9, 2010 at 10:37 AM, Michael Spencer <bigcheesegs at gmail.com> wrote:
>>> On Sat, Oct 9, 2010 at 1:10 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
>>>> Hello, does LLVM already have a Random Number Generator built into
>>>>
2010 Oct 09
0
[LLVMdev] [LLVMDev] Does LLVM have a random number generator?
I am plugging this into my code. If someone wants to take it out and
add it to the llvm library, it's a simple Linear Congruential
Generator, but here it is:
typedef struct random_number_gen {
unsigned a, c, seed, m;
random_number_gen( unsigned seed, unsigned modulo ) :
seed(seed), m(modulo) {
unsigned primes[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 };
2010 Nov 02
4
[LLVMdev] [LLVMDev] Long compile times
I'm just running VS 10 in debug mode. In a step by step set up:
1. I download the svn
2. I make my changes
3. I compile the libraries
4. I make changes to the code within my project
5. I compile my code, and I re-link llc with my changed files.
6. I repeat 4,5, and 6 until it finally works.
- Jeff Kunkel
On Tue, Nov 2, 2010 at 1:21 PM, Óscar Fuentes <ofv at wanadoo.es> wrote:
>
2010 Oct 07
0
[LLVMdev] [LLVMDev] Has anyone written this?
I forgot to CC the forum.
I found what was happening. The BranchFolder documentation says:
// Note that this pass must be run after register allocation, it cannot handle
// SSA form.
> On Wed, Oct 6, 2010 at 8:05 PM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
>> No, I just noticed that blocks were separated.
>>
>>
>> On Wed, Oct 6, 2010 at 8:04 PM, Bob Wilson
2010 Oct 15
2
[LLVMdev] [LLVMDev] Trouble Linking
- I placed my code in the the existing CodeGen library.
- No, it is not in the CMakeLists.txt. The code is separate from the
rest of the CodeGen code, but it is linked into the code gen library
automatically through the visual studio linker. Perhaps something
funny is going on here. I will try placing the code directly in the
library, and I will include it to the CMakeLists.txt.
- Thanks
- Jeff
2010 Oct 15
1
[LLVMdev] how to get MachineBasicBlock of a BasicBlock
Also note: there may be multiple MachineBasicBlock's for a single
BasicBlock.
- David M
On Fri, Oct 15, 2010 at 4:59 AM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> I don't think you can.
>
> The BasicBlock is a member of MachineBasicBlock. It is not inherited,
> so it cannot be cast. The number of the MachineBasicBlock is not the
> same as any BasicBlock values.
2011 Mar 30
0
[LLVMdev] GSoC: Profile-guided inlining and block positioning
1. Summary
I will implement two optimizations in the LLVM compiler, both based on
runtime profile information: an inlining mechanism that takes the call
frequency into consideration, and a better basic block placement algorithm.
2. The project
LLVM now includes an efficient framework [1] for instrumenting an
application and collecting edge and path profile information. Profile-guided
2010 Sep 02
0
[LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
Thank you!
The pieces are starting to fall into place finally.
I need to track which MachineBasicBlocks branch into
other MachineBasicBlocks. How do I do it?
I see a MachineOperand can hold a MachineBasicBlock*. Does this mean the
instruction may branch to the MachineBasicBlock, or can it be something like
an object reference?
- Thanks,
Jeff Kunkel
On Thu, Sep 2, 2010 at 1:56 PM, Jeff Kunkel
2010 Oct 28
0
[LLVMdev] [LLVMDev] The Basic Register allocator
Let me rephrase my question. The live intervals have a weight
associated with them. What does this weight exactly represent?
Thanks
Jeff Kunkel
On Thu, Oct 28, 2010 at 7:41 PM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> I understand the mechanics. I don't know why a lesser weight is better
> than a greater weight.
>
>
> On Thu, Oct 28, 2010 at 7:22 PM, Jakob Stoklund
2010 Sep 02
0
[LLVMdev] [LLVMDev] [Modeling] About the structure of my allocator
Would I be correct in assuming that the alias set is defined as the
registers which may reside in the same space as the register? In other words
the register is either a super or sub register which holds the same physical
location in the register set?
Could someone please explain what the Alias set is if it is not what I
described above?
TargetRegisterInfo::getAliasSet( unsigned reg )
Thanks
2011 Mar 23
0
[LLVMdev] GSOC Project Proposal: Profile-guided optimizations
Hi!
My name is Gratian and I would like to participate to GSOC 2011. I'm
interested in profile-guided optimizations, and I want to implement two
optimizations that can bring tangible benefits for most applications:
profile-guided function inlining and basic block positioning. Inlining can
be greatly improved if we take into consideration how many times the
function we want to inline was
2012 Aug 25
0
[LLVMdev] how to use the profile-guided optimization of LLVM?
hello,everyone
recently, I analyze the compiler optimization level, so I have searched the usage of profile-guided optimization of LLVM, but little result in google, therefore, could you please list detailed usage of profile-guided optimization? LLVM must be install with flags '--enable-profile'? A example will be pleasure.
thanks
von
-------------- next part --------------
An HTML
2010 Oct 15
3
[LLVMdev] [LLVMDev] Trouble Linking
I ran cmake to build the visual studio projects. Then I included my
code under the Visual Studio interface, but I placed my code separate
from the CodeGen code. Visual studio was smart enough to compile and
link in my code into the CodeGen library. Thus, I did not need to add
my code into the same directory as the CodeGen files, and I did not
need to change the CMakeList.txt.
The offical name is