Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] prevents instruction-scheduler from interfereing instruction pair"
2013 Nov 23
0
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
What I meant was to write your own expansion pass and run it after the
scheduler passes, e.g. in the pre-emit stage.
> if (addPreEmitPass())
printAndVerify("After PreEmit passes")
Though if it's too hacky for you then fair enough.
Amara
On 23 November 2013 03:17, Liu Xin <navy.xliu at gmail.com> wrote:
> Amara,
>
> first, thank you for answering. but I found
2013 Nov 23
1
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
I think this after a second. I got your point. I can define a pseudo
instruction for an instr-pair and expand it after post-RA-sched. as you
said, in preEmitPass.
The original intrinsic can also be kept. I just convert the intrinsic to
pseudo instruction in TargetLower. Thank you for your enlightening
suggestion!
thanks,
--lx
On Sat, Nov 23, 2013 at 8:37 PM, Amara Emerson <amara.emerson at
2012 Nov 01
0
[LLVMdev] Tail Duplication Questions
http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/lib/CodeGen/Passes.cpp?revision=156747&view=markup
void TargetPassConfig::addMachineSSAOptimization() {
// Pre-ra tail duplication.
if (addPass(EarlyTailDuplicateID) != &NoPassID)
printAndVerify("After Pre-RegAlloc TailDuplicate");
/// Add passes that optimize machine instructions after register allocation.
2012 Nov 01
2
[LLVMdev] Tail Duplication Questions
Eli Friedman <eli.friedman at gmail.com> writes:
>> Ah. So is the MachineFunction version expected to work correctly?
>
> It's part of the default set of CodeGen passes.
It is? Was that true in 3.1? I can't see where it is initialized in
llc. I probably missed something important. :)
Thanks!
-David
2013 Nov 22
1
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
Hi, LLVM list,
I am using Post-RA scheduler to reorder instructions. by now, it's helpful
for our processor but I meet a trouble. In our ISA, we have fixed
instruction pairs. that is to say, our cpu must see instrA right before
instrB. it's not acceptable to have any instruction between them. we call
it an instruction pair.
The problem is I am not aware of describing this kind of
2016 Jun 08
2
Instruction Itineraries: question about operand latencies
I overrode getInstrLatency and did some printing to see what is available
there. It looks like the registers are still virtual at that point when
getInstrLatency is called - is that correct? (we needed to make some
decisions based on actual registers that have been assigned since some
registers are reserved as address space pointers and we could vary the
latency based on which address space
2017 Jan 06
3
LLVMTargetMachine with optimization level passed from clang.
Here is a problem scenario.
I want to enable a backend pass at -O2 or above.
if (TM->getOptLevel() >= CodeGenOpt::Default)
addPass(&xxxxx);
This pass will be run at -O1 too since clang is creating the TargetMachine with CodeGenOpt::Default for -O1.
--Sumanth G
-----Original Message-----
From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com]
Sent: Friday, January 6, 2017
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mehdi
> Amini via llvm-dev
> Sent: Friday, January 06, 2017 11:10 AM
> To: Sumanth Gundapaneni
> Cc: LLVM Developers
> Subject: Re: [llvm-dev] LLVMTargetMachine with optimization level passed
> from clang.
>
>
> > On Jan 6, 2017, at 10:56 AM, Sumanth
2013 Jan 07
4
[LLVMdev] instruction scheduling issue
On 1/7/2013 2:15 PM, Xu Liu wrote:
>
> This would be ideal. How can I do the instrumentation pass after the
> instruction scheduling?
You could derive your own class from TargetPassConfig, and add the
annotation pass in YourDerivedTargetPassConfig::addPreEmitPass. This
will add your annotation pass very late, just before the final code is
emitted. If you're using the X86 target,
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
getOptLevel() gets the level from TargetMachine which is created by the Backendutil in clang with either
"Default", "None" or "Aggressive". Threre is no correspondence for "Less".
This boils down to , if I pass "-O1", the Target Machine is created with CodeGenOpt::Default.
I am available on IRC @ sgundapa.
-----Original Message-----
From:
2015 Nov 17
2
Confused on how to do a machinefunction pass
Hi,
So, I run my pass in X86 target with llc command and it printed out
"hello****". Now I am trying to do the same pass for ARM target. So I did
exactly what I did for X86 as mentioned in my previous posts. When I run
the following command:
llc -march=arm test.ll -o test
nothing prints out. I did the same for MIPS target too and I got no result.
Can anyone tell me what I'm doing
2015 Nov 17
2
Confused on how to do a machinefunction pass
Yes, I have done exactly the same. The wawanalyzer is the same. I changed
ARM.h and ARMTargetMachine.cpp in the tager/arm folder. then I make
tool/llc and lib folder.
On Tue, Nov 17, 2015 at 10:55 AM, John Criswell <jtcriswel at gmail.com> wrote:
> On 11/17/15 12:16 AM, fateme Hoseini via llvm-dev wrote:
>
> Hi,
> So, I run my pass in X86 target with llc command and it printed
2015 Nov 04
3
Confused on how to do a machinefunction pass
Thank you so much.
That helped alot.
Fami
On Wed, Nov 4, 2015 at 9:40 AM, John Criswell <jtcriswel at gmail.com> wrote:
> On 11/3/15 7:54 PM, fateme Hoseini wrote:
>
> Dear John,
> Thank you so much for your help. I looked at those documents. Could you
> kindly answer the following questions:
>
> Does it mean that I have to make my own backend target in order to write
2015 Oct 22
2
add intrinsic function support for customized backend
Hi, All,
I want to add one intrinsic function for my particular backend. Let's say
the intrinsic function is named "foo" which takes two i32 inputs and has
one i32 output.
First, I add this line "def int_foo : Intrinsic<[llvm_i32_ty],
[llvm_i32_ty, llvm_i32_ty], [IntrReadArgMem]>;" in
/include/llvm/IR/Intrinsics.td.
Then, in my target/InstrInfo.td, I'm supposed
2017 Jan 05
3
LLVMTargetMachine with optimization level passed from clang.
I want the optimization to be turned on at -O1 and above.
In my case, it is a target independent back-end pass. (Eg:
MachinePipeliner)
On 2017-01-04 18:10, Mehdi Amini wrote:
>> On Jan 4, 2017, at 4:03 PM, Sumanth Gundapaneni via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>
>> I see the BackendUtil.cpp of Clang creates the TargetMachine with
>> the
2013 Jan 07
2
[LLVMdev] instruction scheduling issue
On 1/7/2013 1:53 PM, Sergei Larin wrote:
>
> Also, how much performance are you willing to sacrifice to do what you
> do? Maybe turning off scheduling all together is an acceptable solution?
Or insert the calls after scheduling.
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
2013 Jan 07
0
[LLVMdev] instruction scheduling issue
Krzysztof,
This would be ideal. How can I do the instrumentation pass after the
instruction scheduling?
Xu Liu
Quoting Krzysztof Parzyszek <kparzysz at codeaurora.org>:
> On 1/7/2013 1:53 PM, Sergei Larin wrote:
>>
>> Also, how much performance are you willing to sacrifice to do what you
>> do? Maybe turning off scheduling all together is an acceptable solution?
2019 Mar 02
2
Support for out-of-tree backend passes?
Hi all,
I've been doing some LLVM development recently, as was curious about
the status/feasibility of allowing developers to write out-of-tree
back-end passes (e.g. `MachineFunctionPass`es) in a matter similar
to middle-end passes.
From the limited resources I can find online[1][2][3], LLVM currently
doesn't support building back-end passes outside of the source tree.
Could anybody more
2013 Jan 07
0
[LLVMdev] instruction scheduling issue
Liu,
This is likely a better solution for you - you do not want to mess with
the scheduler unless you really have to ;)
Sergei
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Krzysztof Parzyszek
> Sent:
2011 Jun 06
0
[LLVMdev] Understanding SelectionDAG construction
Hi Ankur,
> The flags "-view-sched-dags".. described in the doc doesn't seem to work. (
> "llc -help" doesn't list it ).
as far as I remember, displaying DAGs during compilation is only enabled
in "debug builds" [1] of LLVM. You probably have to re-configure and
re-compile LLVM to enable this feature.
Best regards,
Christoph
[1]