search for: dummycgsccpass

Displaying 9 results from an estimated 9 matches for "dummycgsccpass".

2016 Dec 08
2
Issues with DummyCGSCCPass used for IPRA
...is to set default value of EnableIPRA option to true. you can find this option defined in lib/CodeGen/TargetMachine.cpp and you may also need to change its initialization to true in TargetOptions constructor in include/llvm/Target/TargetOptions.h - Vivek > In order to do this, I’ve added the DummyCGSCCPass to our pipeline, as is > done in TargetPassConfig::addISelPrepare. My understanding is that this > pass wraps the following passes into an SCC pass manager, so that they are > run in bottom-up order, which is necessary to enable register allocation > info from callees to be available at...
2016 Dec 09
2
Issues with DummyCGSCCPass used for IPRA
...should solve your issue. — Mehdi > On Dec 8, 2016, at 10:58 AM, Maxime Chevalier-Boisvert via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > We have our own subtarget, with its own pipeline and set of passes. > > The problem I’m facing, as explained, is that adding the DummyCGSCCPass to our pipeline causes an early pass to be finalized when it shouldn’t be. The information then becomes unavailable when needed, in the machine code generation part of our pipeline. > > It’s unclear to us why this is happening. I was hoping someone familiar with the pass manager may have adv...
2016 Jul 13
2
IPRA, interprocedural register allocation, question
Mehdi, I’m seeing lots of “upgrading” logic, If (UseIPRA) createPass(new DummyCGSCCPass); if (UseIPRA) addPass(createRegUsageInfoPropPass()); if (UseIPRA) addPass(createRegUsageInfoCollector()); ??? --Peter. From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com] Sent: Wedne...
2016 Jun 12
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...lee saved register as clobbered register. Due to this register > allocator can use callee saved register for caller. > PhysicalRegisterUsageInfo.cpp renamed to RegisterUsageInfo.cpp. > StringMap used in RegisterUsageInfo.cpp is replaced by DenseMap of > GlobalVariable * to RegMask. > DummyCGSCCPass moved from TargetPassConfig.cpp to CallGraphSCCPass.h. > Minor correction in comments, changes to adhere coding standards of LLVM. > > Testing: > ===== > > The above mentioned changes has been tested with SNU-Realtime benchmarks. > > Studied lit and FileCheck tool and writte...
2016 May 28
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
Dear community, This is to brief you the progress of Interprocedural Register Allocation, for those who are interested to see the progress in terms of code please consider http://reviews.llvm.org/D20769 This patch contains simple infrastructure to propagate register usage information of callee to caller in call graph. The code generation order is changed to follow bottom up order on call graph ,
2016 Jun 15
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...s clobbered register. Due to this >> register allocator can use callee saved register for caller. >> PhysicalRegisterUsageInfo.cpp renamed to RegisterUsageInfo.cpp. >> StringMap used in RegisterUsageInfo.cpp is replaced by DenseMap of >> GlobalVariable * to RegMask. >> DummyCGSCCPass moved from TargetPassConfig.cpp to CallGraphSCCPass.h. >> Minor correction in comments, changes to adhere coding standards of LLVM. >> >> Testing: >> ===== >> >> The above mentioned changes has been tested with SNU-Realtime benchmarks. >> >> Studied l...
2016 Jul 13
2
IPRA, interprocedural register allocation, question
Mehdi, I am perusing the 3.8 trunk sources, and don’t find evidence where I would expect it for LLVM “downgrading” a function’s calling convention. PrologEpilogEmitter() { “CodeGen/” ... TFI->determineCalleeSaves() { “Target/XYZ/” TargetFrameLowering::determineCalleeSaves() { “CodeGen/” Return <<< some object derived
2016 Jun 19
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...t;>> register allocator can use callee saved register for caller. >>>> PhysicalRegisterUsageInfo.cpp renamed to RegisterUsageInfo.cpp. >>>> StringMap used in RegisterUsageInfo.cpp is replaced by DenseMap of >>>> GlobalVariable * to RegMask. >>>> DummyCGSCCPass moved from TargetPassConfig.cpp to CallGraphSCCPass.h. >>>> Minor correction in comments, changes to adhere coding standards of >>>> LLVM. >>>> >>>> Testing: >>>> ===== >>>> >>>> The above mentioned changes has been...
2016 Jun 20
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...n use callee saved register for caller. >>>>>> PhysicalRegisterUsageInfo.cpp renamed to RegisterUsageInfo.cpp. >>>>>> StringMap used in RegisterUsageInfo.cpp is replaced by DenseMap of >>>>>> GlobalVariable * to RegMask. >>>>>> DummyCGSCCPass moved from TargetPassConfig.cpp to CallGraphSCCPass.h. >>>>>> Minor correction in comments, changes to adhere coding standards of >>>>>> LLVM. >>>>>> >>>>>> Testing: >>>>>> ===== >>>>>> >&...