[llvm-dev] testing a back-end pre-emit pass

110 views
Skip to first unread message

Chris.Dewhurst via llvm-dev

unread,
Aug 1, 2016, 11:46:46 AM8/1/16
to llvm...@lists.llvm.org
Hi,

Does anyone have any direction for me on testing a back-end pre-emit pass independently of other passes? The pass I'm looking at is a MachineFunctionPass, so the code is already using target-specific instructions.

What I'm really looking to do is to see that the pass is correctly converting certain target-specific instructions sequences into other sequences, but I'm unsure how I can get an input in the correct format to construct a good unit test. Can I generate an ".ll" file using target specific instructions and then pass it through to a back-end MachineFunctionPass to test specifically just that one pass?

Chris Dewhurst,
Lero, University of Limerick.

Chris.Dewhurst via llvm-dev

unread,
Aug 5, 2016, 7:08:55 AM8/5/16
to llvm...@lists.llvm.org
Hi,

I've been trying all sorts of things to be able to resolve this, but I can't find way to get this done.

Does anyone know how I might introduce a transform at the ASM level?

Chris.

From: Chris.Dewhurst
Sent: 01 August 2016 16:46
To: llvm...@lists.llvm.org
Subject: testing a back-end pre-emit pass

Krzysztof Parzyszek via llvm-dev

unread,
Aug 5, 2016, 11:17:22 AM8/5/16
to llvm...@lists.llvm.org
You can print the function as MIR and then use that as an input to llc.
llc can run individual passes on .mir input with -run-pass.

-Krzysztof


On 8/5/2016 6:08 AM, Chris.Dewhurst via llvm-dev wrote:
> Hi,
>
> I've been trying all sorts of things to be able to resolve this, but I
> can't find way to get this done.
>
> Does anyone know how I might introduce a transform at the ASM level?
>
> Chris.

> ------------------------------------------------------------------------
> *From:* Chris.Dewhurst
> *Sent:* 01 August 2016 16:46
> *To:* llvm...@lists.llvm.org
> *Subject:* testing a back-end pre-emit pass


>
> Hi,
>
> Does anyone have any direction for me on testing a back-end pre-emit
> pass independently of other passes? The pass I'm looking at is a
> MachineFunctionPass, so the code is already using target-specific
> instructions.
>
> What I'm really looking to do is to see that the pass is correctly
> converting certain target-specific instructions sequences into other
> sequences, but I'm unsure how I can get an input in the correct format
> to construct a good unit test. Can I generate an ".ll" file using target
> specific instructions and then pass it through to a back-end
> MachineFunctionPass to test specifically just that one pass?
>
> Chris Dewhurst,
> Lero, University of Limerick.
>
>

> _______________________________________________
> LLVM Developers mailing list
> llvm...@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Matthias Braun via llvm-dev

unread,
Aug 5, 2016, 5:33:58 PM8/5/16
to Chris.Dewhurst, llvm...@lists.llvm.org
Try to create a .mir test and use "llc -start-after PASSNAME".

BTW: If you want to review a patch that adds -start-before: https://reviews.llvm.org/D23089

- Matthias

Reply all
Reply to author
Forward
0 new messages