search for: machinebranchprobabilityinfo

Displaying 20 results from an estimated 25 matches for "machinebranchprobabilityinfo".

2013 Sep 06
5
[LLVMdev] Extracting libmachine from libcodegen (bug 1121)
...pproach? As to step 1, I haven't dug too deeply into the problem yet, but I'm starting from the assumption that we'll be moving only the modules that start with 'Machine' into the new library. These are: - MachineBasicBlock - MachineBlockFrequencyInfo - MachineBlockPlacement - MachineBranchProbabilityInfo - MachineCodeEmitter - MachineCopyPropagation - MachineCSE - MachineDominators - MachineFunctionAnalysis - MachineFunction - MachineFunctionPass - MachineFunctionPrinterPass - MachineInstrBundle - MachineInstr - MachineLICM - MachineLoopInfo - MachineModuleInfo - MachineModuleInfoImpls - MachinePas...
2013 Sep 11
0
[LLVMdev] Extracting libmachine from libcodegen (bug 1121)
...;t dug too deeply into the problem yet, but I'm > starting from the assumption that we'll be moving only the modules > that start with 'Machine' into the new library. These are: > > - MachineBasicBlock > - MachineBlockFrequencyInfo > - MachineBlockPlacement > - MachineBranchProbabilityInfo > - MachineCodeEmitter > - MachineCopyPropagation > - MachineCSE > - MachineDominators > - MachineFunctionAnalysis > - MachineFunction > - MachineFunctionPass > - MachineFunctionPrinterPass > - MachineInstrBundle > - MachineInstr > - MachineLICM > - MachineLoopIn...
2012 Oct 08
0
[LLVMdev] machine branch probability info
Hi, Anyone working to incorporate "real" profiles to lib/CodeGen/MachineBranchProbabilityInfo.cpp using profile-metadata-loader? We could use something similar to llvm's BranchProbabilityInfo. Ram -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121008/cc8279c9/attachment.html>
2018 Mar 13
0
Getting consistent block frequency information
Hi, I've been trying to get frequency information for basic blocks and edges between basic blocks using MachineBlockFrequencyInfo and MachineBranchProbabilityInfo. Unfortunately, the results returned don't seem to give high consistency. If I have code like the following: define i32 @foo(i32 %i, i32* %addr) { entry: %tobool = icmp ne i32 %i, 0 br i1 %tobool, label %if.end, label %if.then if.then: %add = add i32 %i, 1 store i32 %add, i32* %...
2013 Sep 12
2
[LLVMdev] Extracting libmachine from libcodegen (bug 1121)
...is the goal, then you only want the modules for Machine IR, and maybe some core analysis passes. The “Machine” modules you listed above include machine code analysis or transform passes that you probably don’t want. Pruning the list to basic IR support: > >> - MachineBasicBlock >> - MachineBranchProbabilityInfo >> - MachineCodeEmitter >> - MachineDominators >> - MachineFunctionAnalysis >> - MachineFunction >> - MachineFunctionPass >> - MachineFunctionPrinterPass >> - MachineInstrBundle >> - MachineInstr >> - MachineLoopInfo >> - MachineModuleInfo...
2011 Aug 31
2
[LLVMdev] Branch transformation with branch-weight metadata
Hello :) I am looking around __builtin_expect() directive for optimization. ( http://llvm.org/docs/BranchWeightMetadata.html ) Since it is not included in v2.9, I am searching about it on svn trunk. I found that the lowering phase generates branch-weight metadata node for that directive. However, I can't find any code related to the metadata even in the branch transformation code. IMHO, in
2015 Mar 24
3
[LLVMdev] RFC - Improvements to PGO profile support
...using LaPlace’s rule avoids really bad behavior in cases where the counts are very small and has almost no impact when the counts are large. > 2.4) Fix the bug in 'BranchProbabilityInfo::calcMetadataWeights' > that does capping without scaling > 2.5) Fix a similar bug in 'MachineBranchProbabilityInfo::getSumForBlock(' > .. other bugs found > 3) introduce a new meta data to represent function entry global > hotness (the implementation can choose to use entry execution count) > 4) implement frequency/profile update interfaces for Inline > transformations -- i.e., allowing im...
2016 May 18
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...not > have to use the CC at all. Instead, if we've already codegened the > function, we might use a cache of 'exact' register masks computed during > codegen of the potential callees instead. > I am thinking to add a simple Immutable pass MachineRegisterUsageInfo similar to MachineBranchProbabilityInfo that can maintain RegisterUsageInformation per function. Can it be simply done by using UsedPhysRegMask from MachineRegisterInfo ?? Here getCallPreservedMask will call API provided by MachineRegisterUsageInfo to avail the exact register mask but how it can know that the function is already codegen...
2016 May 18
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...the CC at all. Instead, if we've already codegened the >> function, we might use a cache of 'exact' register masks computed during >> codegen of the potential callees instead. >> > I am thinking to add a simple Immutable pass MachineRegisterUsageInfo > similar to MachineBranchProbabilityInfo that can maintain > RegisterUsageInformation per function. Can it be simply done by using > UsedPhysRegMask from MachineRegisterInfo ?? > > > No, like the comment said, UsedPhysRegMask gives only the registers > clobbered by calls: > // This bit vector represents all the regist...
2016 May 18
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...l, we might not have to use the CC at all. Instead, if we've already codegened the function, we might use a cache of 'exact' register masks computed during codegen of the potential callees instead. >> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo similar to MachineBranchProbabilityInfo that can maintain RegisterUsageInformation per function. Can it be simply done by using UsedPhysRegMask from MachineRegisterInfo ?? > > No, like the comment said, UsedPhysRegMask gives only the registers clobbered by calls: > // This bit vector represents all the registers clobbered by fu...
2016 May 24
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...ad, if we've already codegened the >>> function, we might use a cache of 'exact' register masks computed during >>> codegen of the potential callees instead. >>> >> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo >> similar to MachineBranchProbabilityInfo that can maintain >> RegisterUsageInformation per function. Can it be simply done by using >> UsedPhysRegMask from MachineRegisterInfo ?? >> >> >> No, like the comment said, UsedPhysRegMask gives only the registers >> clobbered by calls: >> // This bit vect...
2016 May 24
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...> computed during codegen of the potential callees instead. > > > > > > > > > > > > > > > > > > > > I am thinking to add a simple Immutable pass > > > > > MachineRegisterUsageInfo > > > > > similar to MachineBranchProbabilityInfo that can maintain > > > > > RegisterUsageInformation per function. Can it be simply done > > > > > by > > > > > using UsedPhysRegMask from MachineRegisterInfo ?? > > > > > > > > > > > > > > No, like the comme...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...eady codegened the >>>> function, we might use a cache of 'exact' register masks computed during >>>> codegen of the potential callees instead. >>>> >>> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo >>> similar to MachineBranchProbabilityInfo that can maintain >>> RegisterUsageInformation per function. Can it be simply done by using >>> UsedPhysRegMask from MachineRegisterInfo ?? >>> >>> >>> No, like the comment said, UsedPhysRegMask gives only the registers >>> clobbered by calls: &...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...> > > > > > > > > > > > > > > > > > > > > > > > > > > > I am thinking to add a simple Immutable pass > > > > > > > MachineRegisterUsageInfo > > > > > > > similar to MachineBranchProbabilityInfo that can maintain > > > > > > > RegisterUsageInformation per function. Can it be simply > > > > > > > done > > > > > > > by > > > > > > > using UsedPhysRegMask from MachineRegisterInfo ?? > > > > > &g...
2015 Mar 24
8
[LLVMdev] RFC - Improvements to PGO profile support
On 03/10/2015 10:14 AM, Diego Novillo wrote: > > > On Thu, Mar 5, 2015 at 11:29 AM, Bob Wilson <bob.wilson at apple.com > <mailto:bob.wilson at apple.com>> wrote: > > >> On Mar 2, 2015, at 4:19 PM, Diego Novillo <dnovillo at google.com >> <mailto:dnovillo at google.com>> wrote: >> >> On Thu, Feb 26, 2015 at 6:54 PM,
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...gt;>>>> function, we might use a cache of 'exact' register masks computed during >>>>> codegen of the potential callees instead. >>>>> >>>> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo >>>> similar to MachineBranchProbabilityInfo that can maintain >>>> RegisterUsageInformation per function. Can it be simply done by using >>>> UsedPhysRegMask from MachineRegisterInfo ?? >>>> >>>> >>>> No, like the comment said, UsedPhysRegMask gives only the registers >>>&g...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...gt; function, we might use a cache of 'exact' register masks computed during >>>>>> codegen of the potential callees instead. >>>>>> >>>>> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo >>>>> similar to MachineBranchProbabilityInfo that can maintain >>>>> RegisterUsageInformation per function. Can it be simply done by using >>>>> UsedPhysRegMask from MachineRegisterInfo ?? >>>>> >>>>> >>>>> No, like the comment said, UsedPhysRegMask gives only the regi...
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...call, we might not have to use the CC at all. Instead, if we've already codegened the function, we might use a cache of 'exact' register masks computed during codegen of the potential callees instead. > I am thinking to add a simple Immutable pass MachineRegisterUsageInfo similar to MachineBranchProbabilityInfo that can maintain RegisterUsageInformation per function. Can it be simply done by using UsedPhysRegMask from MachineRegisterInfo ?? > > No, like the comment said, UsedPhysRegMask gives only the registers clobbered by calls: > // This bit vector represents all the registers clobbered by fu...
2016 May 25
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...l, we might not have to use the CC at all. Instead, if we've already codegened the function, we might use a cache of 'exact' register masks computed during codegen of the potential callees instead. >> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo similar to MachineBranchProbabilityInfo that can maintain RegisterUsageInformation per function. Can it be simply done by using UsedPhysRegMask from MachineRegisterInfo ?? >> >> No, like the comment said, UsedPhysRegMask gives only the registers clobbered by calls: >> // This bit vector represents all the registers clo...
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
...might use a cache of 'exact' register masks computed during >>>>>>> codegen of the potential callees instead. >>>>>>> >>>>>> I am thinking to add a simple Immutable pass MachineRegisterUsageInfo >>>>>> similar to MachineBranchProbabilityInfo that can maintain >>>>>> RegisterUsageInformation per function. Can it be simply done by using >>>>>> UsedPhysRegMask from MachineRegisterInfo ?? >>>>>> >>>>>> >>>>>> No, like the comment said, UsedPhysRegMask...