Displaying 20 results from an estimated 7000 matches similar to: "Deprecate and remove old SelectionDAG scheduler"
2017 Jul 31
2
X86 Backend SelectionDAG - Source Scheduling
Hi,
I was looking into how SelectionDAG scheduling is done in LLVM for
different backends, and I noticed that for the X86 backend, even though it
sets scheduling preferences of ILP or RegisterPressure depending on
architecture, in the end, it ends up using source scheduling. I realized
this is because it overrides enableMachineScheduler to return true. Is
there any specific reasons why it was
2017 Jul 31
2
X86 Backend SelectionDAG - Source Scheduling
Thanks that clears things up. So if I want to mess around with how
schedules are generated, looking at the MachineScheduler pass is the best
place now?
-Dilan
On Mon, Jul 31, 2017 at 3:24 PM Matthias Braun <mbraun at apple.com> wrote:
>
> > On Jul 31, 2017, at 2:51 PM, Dilan Manatunga via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
2013 Jun 24
2
[LLVMdev] MI-Sched temporarily enabled on x86.
I'm briefly enabling the MachineScheduler pass for x86 tonight to collect information on any failures that may show up.
To properly enable the new scheduler, this hook is implemented in X86Subtarget:
bool enableMachineScheduler() const LLVM_OVERRIDE { return true; }
The MachineScheduler pass itself can be enabled/disabled with -enable-misched=true/false. But most of the codegen changes
2013 Sep 26
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 25, 2013, at 11:03 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>
>
> On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>> Hi, Andrew,
>>
>> Thank you for answering my question.
>>
>> What's the status of
2013 Jun 24
0
[LLVMdev] MI-Sched temporarily enabled on x86.
On Mon, Jun 24, 2013 at 2:41 AM, Andrew Trick <atrick at apple.com> wrote:
> I'm briefly enabling the MachineScheduler pass for x86 tonight to collect
> information on any failures that may show up.
>
> To properly enable the new scheduler, this hook is implemented in
> X86Subtarget:
>
> bool enableMachineScheduler() const LLVM_OVERRIDE { return true; }
>
>
2013 Jun 24
1
[LLVMdev] MI-Sched temporarily enabled on x86.
On Jun 24, 2013, at 2:47 AM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Mon, Jun 24, 2013 at 2:41 AM, Andrew Trick <atrick at apple.com> wrote:
> I'm briefly enabling the MachineScheduler pass for x86 tonight to collect information on any failures that may show up.
>
> To properly enable the new scheduler, this hook is implemented in X86Subtarget:
2013 May 13
1
[LLVMdev] Scheduling with RAW hazards
On 09/05/2013 18:25, Andrew Trick wrote:
>
> On May 9, 2013, at 4:02 AM, Fraser Cormack <fraser at codeplay.com
> <mailto:fraser at codeplay.com>> wrote:
>
>> I have an instruction that takes no operands, and produces two
>> results, in two consecutive cycles.
>>
>> I tried both of the following to my Schedule.td file:
>>
>>
2013 Sep 26
2
[LLVMdev] how to detect data hazard in pre-RA-sched
On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
> Hi, Andrew,
>
> Thank you for answering my question.
>
> What's the status of misched? is it experimental? I found it is disabled
> by default for all architectures(3.4svn). I also don't understand
2013 Feb 27
1
[LLVMdev] MIScheduler / bundling
Hi,
I am looking at the Hexagon MI Scheduling and trying to adapt it to my target.
As far as I can see, Hexagon does not bundle the VLIW-bundles by calling bundleWithPred() on MIs of the completed cycle.
First of all, why is this not done? SlotIndexes seems to have at least some support for this, by calling getBundleStart() for each MI that is looked up.
A follow up question is then, how would
2007 May 02
2
[LLVMdev] LLVM-gcc scheduler
I'm a taking a compiler course and I'm supposed to implement a scheduler
for the LLVM compiler and comapre its persformance to the existing one
used by LLVM-gcc. I need some help understanding what is really
happening in LLVM-gcc. In CodeGen/SelectionDAG/ I can see four different
Schedulers, which one is used by LLVM? Can you give a hint on where/how
to add a new scheduler and test
2012 Jul 03
4
[LLVMdev] target hexagon and sparcv9 lead to llc crack
hi,
does someone notice that llc options "-march=hexagon" and
"-march-sparcv9" do not work well under llvm 3.1?
Following is a brief description:
(1) test.c file
int cmp(int i, int j) {
return (i>j)?1:0;
}
(2) test.ll file (clang -emit-llvm test.c -S -o test.ll)
; ModuleID = 'test.c'
target datalayout =
2013 Sep 26
1
[LLVMdev] [llvm] r190717 - Adds support for Atom Silvermont (SLM) - -march=slm
Hello Andy,
Thank you for your offer to work together on implementing the your new scheduler on X86. I can start working on this right away.
In case you were unaware, the new Silvermont micro-architecture is only out of order on the integer side. The SSE instructions are still in order, so the current postRA scheduler is very beneficial for code with lots of SSE instructions, such as the ISPC
2010 Apr 15
2
[LLVMdev] how to set -pre-ra-sched from code?
Sanjiv Gupta wrote:
> On Wed, 2010-04-14 at 11:33 -0400, Andrew Friedley wrote:
>> I've found that I need to set the -pre-RA-sched parameter when using
>> tools like llc to get the kind of instruction scheduling I want.
>>
>> However I'm normally generating and running code on the fly using the
>> JIT, and can't figure out how to set the -pre-RA-sched
2013 Jul 02
2
[LLVMdev] MI Scheduler vs SD Scheduler?
Thank you for the answers! We are currently trying to test the MI scheduler. We are using LLVM 3.3 with Dragon Egg 3.3 on an x86-64 machine. So far, we have run one SPEC CPU2006 test with the MI scheduler enabled using the option -fplugin-arg-dragonegg-llvm-option='-enable-misched:true' with -O3. This enables the machine scheduler in addition to the SD scheduler. We have verified this by
2018 Feb 08
2
[VLIW Scheduler] Itineraries vs. per operand scheduling
Hi Krzysztof,
2018-02-08 13:32 GMT+08:00 Andrew Trick via llvm-dev <
llvm-dev at lists.llvm.org>:
>
>
> On Feb 4, 2018, at 9:15 AM, Yatsina, Marina via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> What is the best way to model a scheduler for a VLIW in-order architecture?
> I’ve looked at the Hexagon and R600 architectures and they are using
2010 Apr 19
0
[LLVMdev] how to set -pre-ra-sched from code?
Sorry for responding to my own message but I would really appreciate
some help with this.
Looking through the documentation again this morning I noticed that
setSchedulingPreference is a protected method of LLVMTargetLowering, so
it looks like it's not something I can call directly anyway.
Furthermore it's only called from one place with a hard-coded value for
any particular
2010 Apr 14
2
[LLVMdev] how to set -pre-ra-sched from code?
I've found that I need to set the -pre-RA-sched parameter when using
tools like llc to get the kind of instruction scheduling I want.
However I'm normally generating and running code on the fly using the
JIT, and can't figure out how to set the -pre-RA-sched option anywhere
other than on the command line for the provided tools. So what code
would I write (or where is the API?) to
2017 Sep 20
3
Updating LLVM Tests for Patch
There are multiple problems/questions here:
1. Make sure you've updated trunk to the latest rev before running
update_llc_test_checks.py on lea-3.ll. Ie, I would only expect the output
you're seeing if you're running the script on a version of that test file
before r313631. After that commit, each RUN has its own check prefix, so
there should be no conflict opportunity.
2. I
2012 Jul 03
0
[LLVMdev] target hexagon and sparcv9 lead to llc crack
sorry,
llc -march=hexagon -mcpu=hexagonv2 test.ll -o test.s
works.
2012/7/3 Triple Yang <triple.yang at gmail.com>:
> hi,
>
> does someone notice that llc options "-march=hexagon" and
> "-march-sparcv9" do not work well under llvm 3.1?
>
> Following is a brief description:
> (1) test.c file
>
> int cmp(int i, int j) {
> return
2017 Sep 22
0
[Hexagon] Type Legalization
Hi Sanjay,
thanks for this information. I did get a little bit further with the
patch. However, Hexagon gives me headaches.
I tried to limit the scope of the patch to the BeforeLegalizeTypes phase
and Hexagon still reaches the unreachable. Hexagon tries to split or
widen a vector type for a node with custom lowering where the
unreachable arises from inside TargetLowering::ReplaceNodeResults