Displaying 20 results from an estimated 20000 matches similar to: "[GlobalISel][RFC] Contract between LLVM IR and the backends for ISel"
2016 Jan 22
2
[GlobalISel][RFC] Contract between LLVM IR and the backends for ISel
> On Jan 22, 2016, at 3:17 PM, Matthias Braun <matze at braunis.de> wrote:
>
>
>> On Jan 22, 2016, at 2:36 PM, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi,
>>
>> I would like your opinions on the contract we have between the LLVM IR and the backends.
>>
>>
>> * Context *
>>
>>
2016 Jan 23
2
[GlobalISel][RFC] Contract between LLVM IR and the backends for ISel
> On Jan 22, 2016, at 4:10 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> ----- Original Message -----
>
>> From: "Quentin Colombet via llvm-dev" <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>> To: "Matthias Braun" <matze at braunis.de <mailto:matze at braunis.de>>
>> Cc: "llvm-dev"
2015 Nov 18
13
[GlobalISel] A Proposal for global instruction selection
Hi,
With this email, I would like to kick-off the development for the next instruction selector that I described during the last LLVM Dev’ Meeting.
For the motivations, see Jakob’s proposal (http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-August/064727.html <http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-August/064727.html>) and for the proposal, see the slides (Keynote:
2016 Jan 07
2
[GlobalISel] A Proposal for global instruction selection
Hi Daniel,
I had a quick look at the language reference for bitcast and I have a different reading than what you were pointing out.
Indeed, my take away is:
"It is always a no-op cast because no bits change with this conversion."
In other words, deleting all bitcast instructions should be fine.
My understanding of the quote you’ve highlighted is that it tells C programmers that this
2017 Jun 16
7
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi all,
We had some internal discussions about flipping the default for O0 and we concluded that we wanted to postpone it.
*** Why Is That? ***
We don’t want to send the wrong message that GlobalISel’s design is set in stone and ready for broader adoption.
In particular,
1. The APIs are still evolving and can still possibly change significantly
2. The TableGen backend to reuse the existing SD
2016 Jan 11
2
[GlobalISel] A Proposal for global instruction selection
Hi Daniel,
Thanks for the pointers, I wasn’t aware of the second thread you’ve mentioned.
I may be wrong but I think LLVM-IR optimizations really treat bistcasts as no-op casts, in the sense of no instructions are required.
Is there anyone that could chime in on that?
However, it seems SelectionDAG sticks to the load/store semantic:
"BITCAST - This operator converts between integer,
2016 Jan 12
4
[GlobalISel] A Proposal for global instruction selection
Hi,
> I found this thinking quite difficult to explain. Does it make sense?
It might help to link to the documentation on why bitcasts are weird on
big-endian NEON: http://llvm.org/docs/BigEndianNEON.html#bitconverts
Cheers,
James
On Tue, 12 Jan 2016 at 13:23 Daniel Sanders via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi,
>
>
>
> I haven't found much time to
2016 Jan 12
2
[GlobalISel] A Proposal for global instruction selection
What happens when you cascade bitcast?
Are these sequences all equivalent at the IR level (i.e. do they reference the same byte from the original i128)?
i128 => <16 x i8> => GEP 0
i128 => <2 x i64> => GEP 0 => <8 x i8> => GEP 0
i128 => <2 x i64> => GEP 0 => <2 x i32> => GEP 0 => <4 x i8> => GEP 0
—
2017 Jun 17
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
> On Jun 16, 2017, at 4:58 PM, Eric Christopher <echristo at gmail.com> wrote:
>
>
>
> On Fri, Jun 16, 2017 at 4:43 PM Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote:
> Hi all,
>
> We had some internal discussions about flipping the default for O0 and we concluded that we wanted to postpone it.
>
>
> *** Why
2017 Jan 14
13
RFC: Building GlobalISel by default
Hi all,
Now, four backends (if I am counting right: X86, ARM, AArch64, AMDGPU) are working on bringing-up GlobalISel, I’d like to switch the default of the LLVM_BUILD_GLOBAL_ISEL variable in CMake, such that the framework gets built by default.
** Impact of Flipping the Switch **
* Upsides *
For people developing on GlobalISel, it will:
- Simplify the CMake command to type :)
- Build/Test
2017 Nov 13
3
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi Quentin,
My only remaining concern is around ABI compatibility.
The following commit seems to indicate that in the previous round of evaluation, we didn’t find an existing ABI compatibility issue:
http://llvm.org/viewvc/llvm-project?view=revision&revision=311388.
I haven’t looked into the details of this issue - so maybe I’m worried over nothing?
I’m wondering if since then on your side
2017 Jan 21
12
[GlobalISel] Quick Status
Hi all,
Following the thread from http://lists.llvm.org/pipermail/llvm-dev/2017-January/109029.html, I am sending this email to give a status on GlobalISel progress and situation.
We are pushing GlobalISel from the state of prototype to a production quality framework. We welcome help with patches, reviews, feedbacks and so on.
As explained during the last developer meeting, we are aiming at
2016 Jan 13
2
[GlobalISel] A Proposal for global instruction selection
Hi James,
I am also confused!
> On Jan 12, 2016, at 4:11 PM, Philip Reames <listmail at philipreames.com> wrote:
>
> I think after reading your link I'm actually more confused. This might just be a wording problem, but let me ask a couple of clarifying questions.
>
> 1) After compiling the code sequence below (from that page), does the in memory bit pattern differ?
2017 Jan 17
2
RFC: Building GlobalISel by default
Hi Michael,
> On Jan 13, 2017, at 6:38 PM, Michael Kuperstein <mkuper at google.com> wrote:
>
> As a person not developing on GlobalISel, I can already play with it by setting the flag. ;-)
>
> The main (and huge) benefit I see is that it will get tested by default.
I agree.
> So, I think it's mainly a question of maturity - if my (non-GlobalISel) change breaks
2017 Mar 29
4
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi,
GlobalISel, the SelectionDAG replacement, has come a long way since initially discussed on the mailing list and its last discussion at the EuroLLVM BoF (https://etherpad.net/p/GlobalISel <https://etherpad.net/p/GlobalISel>).
We believe we are close to the point of enabling it by default on AArch64 at O0. We now would like to enlist your help to get there.
*** Quick Status ***
On iOS
2017 Nov 14
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi Quentin,
I’ve started running an ABI test suite with global isel on AArch64, and while it hasn’t found any ABI issues it has hit an assertion in clang when using the __fp16 type. Here’s a reproducer:
__fp16 pass_f16(__fp16 p) {
return p;
}
$ /work/llvm/build/bin/clang --target=aarch64-arm-none-eabi -march=armv8-a -c test.c -O0 -mllvm -global-isel -mllvm -global-isel-abort=0
2017 Nov 14
6
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
To give an update here, we actually are not missing a mapping. The code complains because we are copying around a fp16 into a gpr32 and that shouldn’t be done with a copy (default mapping).
I extended the repairing code to issue G_ANYEXT in those cases instead of asserting.
However, now, I have to teach instruction select about those ANYEXT otherwise we’ll fallback in that case. But that’s a
2017 Nov 17
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi Oliver,
Thanks for trying this.
Could you file a different PR for each of the problem you found and reference the umbrella PR: http://llvm.org/PR35347? <http://llvm.org/PR35347?>
Thanks,
-Quentin
> On Nov 17, 2017, at 8:17 AM, Oliver Stannard <oliver.stannard at arm.com> wrote:
>
> Hi Quentin,
>
> One more reproducer, this time with small (<64bit) values
2017 May 23
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Great!
I thought I had to look at our pipeline at O0 to make sure optimized regalloc was supported (https://bugs.llvm.org/show_bug.cgi?id=33022 <https://bugs.llvm.org/show_bug.cgi?id=33022> in mind). Glad I was wrong, it saves me some time.
> On May 22, 2017, at 12:51 AM, Kristof Beyls <kristof.beyls at arm.com> wrote:
>
>
>> On 22 May 2017, at 09:09, Diana Picus
2015 Nov 19
3
[GlobalISel] A Proposal for global instruction selection
Hi Eric,
> On Nov 19, 2015, at 12:46 PM, Eric Christopher <echristo at gmail.com> wrote:
>
> Hi Quentin,
>
>
> *** Goals ***
>
> The high level goals of the new instruction selector are:
> - Global instruction selector.
> - Fast instruction selector.
>
> Are these separate or the same? It reads like two instruction selectors at the moment.
They are