Displaying 20 results from an estimated 9000 matches similar to: "[GSoC 2016] [Weekly Status] Interprocedural Register Allocation"
2016 Jun 12
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
Dear Community,
The patch for Interprocedural Register Allocation has been committed now ,
thanks to Mehdi Amini for that. We would like you to play with it and let
us know your views and more importantly ideas to improve it.
The test-suite run has indicated some non trivial issue that results in run
time failure of the programs, we will be investigating it more. Here are
some stats :
2016 Jun 15
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
On Wed, Jun 15, 2016 at 6:16 AM, Quentin Colombet <qcolombet at apple.com>
wrote:
> Hi Vivek,
>
> How much of the slow down on runtime comes from the different layout of
> the function in the asm file? (I.e., because of the dummy scc pass.)
>
> Hello Quentin,
Please do not consider previous results as there was a major bug in RegMask
calculation due to not considering
2016 Jun 19
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
Dear Community,
Please find summary of work done during this week as follow:
Implementation:
============
During this week we have identified a bug in IPRA due to not considering
RegMask of function calls in given machine function. The same bug on
AArch64 has been reported by Chad Rosier and more detailed description can
be found at https://llvm.org/bugs/show_bug.cgi?id=28144 . To fix this bug
2016 Jun 20
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
On Mon, Jun 20, 2016 at 12:54 AM, vivek pandya <vivekvpandya at gmail.com>
wrote:
> Dear Professor,
>
> Thanks to bring this to notice, I tried out a simple test case with
> indirect function call:
>
> int foo() {
> return 12;
> }
>
> int bar(int a) {
> return foo() + a;
> }
>
> int (*fp)() = 0;
> int (*fp1)(int) = 0;
>
> int main() {
>
2016 Jul 05
2
Can we get interprocedural register allocation work across module boundary?
Hello Mentors,
I have a very naive idea to get IPRA woking at link time and thus extending
its scope to intermodule. I seek some help if it seems to be a feasible
idea.
So idea is to take advantage of LTO's capability to work with bit code
files. LTO can optimize number of bitcode files and combine them into a big
module. LTO then generates native code for the big module.
So does it seem
2016 Jul 06
2
Can we get interprocedural register allocation work across module boundary?
On Tue, Jul 5, 2016 at 11:54 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> > On Jul 5, 2016, at 9:28 AM, vivek pandya <vivekvpandya at gmail.com> wrote:
> >
> > Hello Mentors,
> >
> > I have a very naive idea to get IPRA woking at link time and thus
> extending its scope to intermodule. I seek some help if it seems to be a
> feasible
2016 Jul 09
3
IPRA, interprocedural register allocation, question
Vivek,
IIUC it seems that we need two pieces of information to do IPRA,
1. what registers the callee clobbers
2. what the callee does to the call-graph
And it is #2 that we are missing when we define an external function,
Even when we declare it with a preserves or a regmask attribute,
So what I / we need is another attribute that says this is a leaf function,
At least in my case all
2016 Jun 20
2
FireFox-46.0.1 build with interprocedural register allocation enabled
On Mon, Jun 20, 2016 at 10:05 PM, Sanjoy Das <sanjoy at playingwithpointers.com
> wrote:
> Hi Vivek,
>
> vivek pandya wrote:
>
> > For Octane and Kraken I have run them 4 times and above result is
> > geometric mean. For Octane standard deviation (SD) is
> > 918.54 (NO_IPRA) and 597.82 (With_IPRA). For Kraken unfortunately I
> > don't have readings
2016 Jul 25
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
Dear Community,
Sorry for being late for weekly status report but I was traveling back to
my college.
Please consider this week's summary as follows:
Implementation:
============
This week I tried to get experimental PGO driven IPRA work. The idea is to
save all register in prolog and restore it in epilog for cold function so
that IPRA can propagate some free register to upper region of
2016 Jul 10
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
Hello LLVM Developers,
Please feel free to send any ideas that you can think to improve current
IPRA. I will work on it and if possible I will implement that.
Please consider summary of work done during this week.
Implementation:
============
The reviews requests has been updated to reflect the reviews.
Testing:
=====
To get more benefit from IPRA I experimented it with LTO and results
2016 Jul 12
2
IPRA, interprocedural register allocation, question
Vivek,
Here’s the way I see it, let me know if you agree or disagree,
You cannot optimize a function’s calling convention (register-usage) unless
You can see and change every caller, and you only know this for non-static functions
if you know that all calls to external functions cannot call back into the current
compilation unit.
#1 gives you the info necessary to change the call-site
2016 May 28
2
Updating RegMask inline
static void setXXX(MachineInstr &MI, ...) {
for (MachineOperand &MO : MI.operands()) {
if (MO.isRegMask())
MO.setRegMask(...);
}
}
> On May 27, 2016, at 7:02 PM, vivek pandya via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Sat, May 28, 2016 at 7:29 AM, Matthias Braun <matze at braunis.de <mailto:matze at braunis.de>> wrote:
>
2016 Jul 13
6
IPRA, interprocedural register allocation, question
Vivek,
I apologize if you took my original email as a request for implementation,
I meant to be asking what is already available, I think the answer to that
is the ‘preserves_most’ and ‘preserves_all’ attributes, but I will also
Use ‘regmask’ if those prove to be too sub-optimal.
I am still interested in figuring out the necessary and sufficient conditions
For LLC to do optimal IPRA
2016 May 25
2
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
Sent from my iPhone
> On May 24, 2016, at 11:04 PM, vivek pandya <vivekvpandya at gmail.com> wrote:
>
>
>
>> On Wed, May 25, 2016 at 10:46 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>>
>>> On May 24, 2016, at 10:08 PM, vivek pandya <vivekvpandya at gmail.com> wrote:
>>>
>>>
>>>
>>> On Wed, May 25,
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
On Wed, May 25, 2016 at 10:46 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> On May 24, 2016, at 10:08 PM, vivek pandya <vivekvpandya at gmail.com> wrote:
>
>
>
> On Wed, May 25, 2016 at 10:08 AM, Mehdi Amini <mehdi.amini at apple.com>
> wrote:
>
>>
>> On May 24, 2016, at 9:17 PM, vivek pandya <vivekvpandya at gmail.com> wrote:
2016 Jun 20
2
FireFox-46.0.1 build with interprocedural register allocation enabled
On Mon, Jun 20, 2016 at 4:14 AM, Sanjoy Das <sanjoy at playingwithpointers.com>
wrote:
> Hi Vivek,
>
> [Dropping firefox-dev, since I don't want to spam them]
>
> vivek pandya via llvm-dev wrote:
> > Measure W/O IPRAWITH IPRA
> > ========================
> > Total Build Time76 mins82.3 mins8% increment
> > Octane v2.0 JS Benchmark Score (higher is
2016 May 25
0
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
----- Original Message -----
> From: "Mehdi Amini" <mehdi.amini at apple.com>
> To: "vivek pandya" <vivekvpandya at gmail.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, "llvm-dev"
> <llvm-dev at lists.llvm.org>, "Matthias Braun" <matze at braunis.de>,
> "Quentin Colombet" <qcolombet at
2016 Jul 08
2
IPRA, interprocedural register allocation, question
On Fri, Jul 8, 2016 at 9:47 AM, Lawrence, Peter <c_plawre at qca.qualcomm.com>
wrote:
> Vivek,
>
> I am looking into these function attributes in the clang docs
>
> Preserve_most
>
> Preserve_all
>
> They are not available in the 3.6.2 that I am currently using, but I hope
> they exist in 3.8
>
>
>
>
2016 May 25
3
[GSoC 2016] Interprocedural Register Allocation - Introduction and Feedback
> On May 24, 2016, at 10:08 PM, vivek pandya <vivekvpandya at gmail.com> wrote:
>
>
>
> On Wed, May 25, 2016 at 10:08 AM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
>
>> On May 24, 2016, at 9:17 PM, vivek pandya <vivekvpandya at gmail.com <mailto:vivekvpandya at gmail.com>> wrote:
>>
>> Dear
2016 Jul 12
3
IPRA, interprocedural register allocation, question
Mehdi,
I’m compiling embedded applications which are small enough to do
whole-program-compilation. There’s no advantage in breaking them up into
separate compilation pieces and linking them, even though in source form
they are composed of a couple of separate source files.
So for me the compilation unit is always the entire program (and includes main())
Except for some