Displaying 20 results from an estimated 10000 matches similar to: "Running GlobaISel passes after SelectionDAG instruction selection"
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
2019 Aug 23
2
Using [GlobalISel] to provide peephole optimizations
Hi,
GlobalISel is fantastic, but obviously lacks a lot of the transforms that
makes SelectionDAG so good. Whilst it's plenty usable, you'll find yourself
wanting/needing to add a lot of manual little transforms to clean things up.
I know of the RFC for a new Combiner with its own syntax
(https://reviews.llvm.org/D54286 is the latest I can find of it), but after
manually adding my Nth
2017 Jun 06
3
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Thanks Kristof.
Sounds like we'll need to investigate though I'd say it is not blocking the switch.
At this point I think everybody is on board to flip the switch.
@Eric, how does that sound to you?
Thanks,
Q
> Le 1 juin 2017 à 07:46, Kristof Beyls <Kristof.Beyls at arm.com> a écrit :
>
>
>> On 31 May 2017, at 17:07, Quentin Colombet <qcolombet at
2017 Jun 12
1
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi all,
I added a buildbot [1] running the test-suite with -O0 -global-isel. It
runs into the same 2 timeouts that I reported previously on this thread
(paq8p and scimark2). It would be nice to make it green before flipping the
switch.
At the moment, it lives in an internal buildmaster that I've setup for this
purpose. If we fix it and it proves to be stable for a week or two, I'll
move
2017 Dec 20
6
[GlobalISel] gen-global-isel failed to work
Hi Leslie,
On 20 December 2017 at 10:51, Leslie Zhai via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Sorry, I am apprentice of lowRISC, and meet new bug when porting GlobalISel
> to RISCV target
> https://github.com/xiangzhai/llvm/commit/b3f91ea54d9fee0ef7e73a32c6b8456bbe252811
>
>
> In file included from
>
2018 Jul 30
9
GlobalISel design update and goals
Hi all,
Over the past few months we’ve been doing work on the foundations for the next stages of GlobalISel development. In terms of changes from this time last year, the IR translator, the legalizer, and instruction selector have seen moderate to major changes. The most significant of these was the change to the legalizer API, allowing targets to use predicates to express legality, which gives
2017 Nov 10
5
RFC: [GlobalISel] Towards a generic MI combiner framework
Hi everyone,
This RFC concerns the design and architecture of a generic machine instruction combiner/optimizer framework to be developed as part of the GISel pipeline. As we transition from correctness and reducing the fallback rate to SelectionDAG at -O0, we’re now starting to think about using GlobalISel with optimizations enabled. There are obviously many parts to this story as optimizations
2017 May 08
5
[SPIR-V] SPIR-V in LLVM
On 5/3/2017 12:04 PM, Tom Stellard via llvm-dev wrote:
> On 05/03/2017 11:19 AM, Nicholas Wilson wrote:
>>> Right, what I was trying to say is that there are more benefits from
>>> having this not be a target than there is from having it be a target.
>> Please enumerate them, I have seen none posted so far . The implied “it is what all the the other backends do” w.r.t
2017 Jun 14
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
On 12 June 2017 at 18:54, Diana Picus <diana.picus at linaro.org> wrote:
> Hi all,
>
> I added a buildbot [1] running the test-suite with -O0 -global-isel. It
> runs into the same 2 timeouts that I reported previously on this thread
> (paq8p and scimark2). It would be nice to make it green before flipping the
> switch.
>
>
I did some more investigations on a machine
2017 May 31
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi Kristof,
Thanks for the updated numbers.
> On May 31, 2017, at 7:45 AM, Kristof Beyls <kristof.beyls at arm.com> wrote:
>
>>
>> On 31 May 2017, at 15:33, Diana Picus via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Cool test :)
>> It seems to work fine now, I don't see any new failures.
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 May 03
5
[SPIR-V] SPIR-V in LLVM
>Right, what I was trying to say is that there are more benefits from
>having this not be a target than there is from having it be a target.
Please enumerate them, I have seen none posted so far . The implied “it is what all the the other backends do” w.r.t ISel/MC is at best(worst?) an implementation detail, and I’m still not quite sure why Chandler was so adamant about that. He seemed
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 May 10
4
[SPIR-V] SPIR-V in LLVM
Totally agree Philip! I think the main pending issue is are we allowed
to have a target that doesn't go through the normal mechanisms that
targets adhere to - and is basically just a ModulePass underneath.
In light of how thorny this request has been perceived in the past, I'd
honestly rather just make external targets work _without_ patching LLVM
being a requirement, and then any
2020 May 05
4
Codegen pass configs dependent on function attributes?
Hi all.
I’m trying to get GlobalISel to work better with LTO. At the moment if you enable it via -fglobal-isel, it only adds the -mllvm -global-isel and related options to the cc1 invocation. With LTO, that doesn’t work as we need to encode codegen options into the bitcode, usually via function attributes.
Does anyone have any ideas on how to achieve this? The only way I can see it working is if
2019 Jan 07
2
GlobalISel legalization artifact legalization
Hi,
I’m trying to handle some vector operations with splitting/scalarization and keep running into similar sorts of issues which are making me question the intended function of the various legalization operations (particularly G_MERGE_VALUES/G_UNMERGE_VALUES, but also G_EXTRACT/G_INSERT and conversion instructions) and what the contract between the legalizer and selector actually is.
For scalar
2020 Feb 13
4
Use Global ISel or SelectionDAG
Hi llvm-dev,
I am currently writing a backend for an architecture I am designing in my
bachelor's thesis and recently came across the GlobalISel Selection
Framework.
Should already start using this over the more common Selection DAG?
Being new llvm backend development, I am not sure if GlobalISel would be
"easier" to implement than ISelDAG and if there is any decent documentation
on
2017 Nov 18
2
RFC: [GlobalISel] Towards a generic MI combiner framework
> On Nov 13, 2017, at 11:53 AM, Vedant Kumar via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi Amara,
>
>> On Nov 10, 2017, at 9:12 AM, Amara Emerson via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hi everyone,
>>
>> This RFC concerns the design and architecture of a generic machine
2017 Nov 28
2
RFC: [GlobalISel] Towards a generic MI combiner framework
Thanks for the suggestions Vedant. Synthetic debug info is an interesting idea that sounds worthwhile. Could this be implemented as a “wrapper” pass that automatically decorates debug info before and after a specific pass run in opt (or pipeline of passes)? It might be useful to be able to easily enable this for a wide range of tests without having to manually modify each run line, perhaps as an
2017 Jan 31
2
[GlobalISel] Questions about selection regions
Hi,
I've been studying the global instruction selector introduced recently. One
of the properties of global instruction selectors is that they select
instructions across basic blocks such that they can get more information in
order to choose optimal patterns.
However, the current global isel implementation still iterates over BBs
within functions, which is same as the original SelectionDAG