Displaying 20 results from an estimated 100 matches similar to: "[LLVMdev] SelectionDAGISel::CodeGenAndEmitDAG() confusion."
2012 Sep 03
1
[LLVMdev] Selection DAG output as bare DAG, code review
Hello all,
I recently foudn myself wanting to view the basic blocks in the
selection DAG as pure DAGs - so just as a list of edges, with no other
information. I added the below code to the start of the "
void SelectionDAGISel::CodeGenAndEmitDAG()" function. It creates a
separate txt file for each basic block and gives a list of edges
between nodes. The segment of code is below -
2009 May 20
0
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 1:19 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> Per subject, this patch adding an additional pass to handle vector
> operations; the idea is that this allows removing the code from
> LegalizeDAG that handles illegal types, which should be a significant
> simplification. There are still some issues with this patch, but does
> the approach
2009 May 20
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
Per subject, this patch adding an additional pass to handle vector
operations; the idea is that this allows removing the code from
LegalizeDAG that handles illegal types, which should be a significant
simplification. There are still some issues with this patch, but does
the approach look sane?
-Eli
-------------- next part --------------
Index: lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
2007 Oct 04
3
[LLVMdev] RFC: Tail call optimization X86
Comments:
CheckDAGForTailCallsAndFixThem -
1.
for (SelectionDAG::allnodes_iterator BE = DAG.allnodes_begin(),
+ BI = prior(DAG.allnodes_end()); BI != BE; BI--) {
Please use pre-decrement instead of post-decrement.
2. The function is slower than it should be. You are scanning all the
nodes in the DAG twice. You should just examine DAG.getRoot() to make
determine whether it's a
2009 Dec 18
2
[LLVMdev] [PATCH] dbgs() Use
Here's an example patch of how dbgs() will be used. Essentially I will
replace uses of errs() with dbgs(). I believe this is the correct thing
to do because:
- With #define NDEBUG, dbgs() == errs()
- With debugging and -debug-buffer-size=0 (the default), dbgs() just
passes output to errs().
- When -debug-buffer-size>0, you want to buffer ALL output so that you
don't get some
2007 Oct 02
0
[LLVMdev] RFC: Tail call optimization X86
Hi all,
I changed the code that checks whether a tail call is really eligible
for optimization so that it performs the check/fix in
SelectionDAGISel.cpp:BuildSelectionDAG() as suggest by Evan. Also
eliminated an error that caused the remaining failing test cases in
the test-suite.
The results look very nice (on darwin x86, r42486).
The same number (46) of failing test cases on patched
2007 Sep 26
3
[LLVMdev] RFC: Tail call optimization X86
On Tue, 25 Sep 2007, Evan Cheng wrote:
>> the stack adjustment only fastcc was not one of them. Now that fastcc
>> can cause tail call optimization i had to change the convention from
>> caller pops arguments to callee pops arguments in order to allow tail
>> call optimization in a general way.
>
> Hmmm. Ok. So this is due to X86CallingConv.td changes? Unfortunately
2016 May 23
0
SelectionDAGISel::Select's API considered harmful
Hans Wennborg <hans at chromium.org> writes:
> Can you put something in the release notes when this happens?
I already updated the release notes in r268693, when I added the void
Select option in the first place :)
> Thanks,
> Hans
>
> On Sat, May 21, 2016 at 10:57 AM, Justin Bogner via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> Update: All in tree
2016 Jun 28
0
Question about changes to 'SelectionDAGISel.h'
Although I would like to track the LLVM head revisions regularly,
unfortunately I only get the opportunity every couple of months or even
every 6 month with a full release.
This time I am updating from revision #262824 (8th March) so more than 3
months have elapsed. For the most part I have completed the changes I need
to make, but I'm stuck on one change that is more significant than it
2010 May 26
0
[LLVMdev] [llvm-commits] [llvm] r104737 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
I didn't see swapcontext in the list in gcc's special_function_p function...
-bw
On May 26, 2010, at 2:20 PM, Alistair Lynn wrote:
> Hello-
>
> Shouldn't this catch swapcontext as well?
>
> Alistair
>
> On 26 May 2010, at 22:14, Dale Johannesen wrote:
>
>>
>> On May 26, 2010, at 2:05 PMPDT, Dan Gohman wrote:
>>
>>> vfork and
2016 May 21
0
SelectionDAGISel::Select's API considered harmful
Update: All in tree backends now implement `void Select`. I'll be
removing the SelectImpl path on Monday.
Justin Bogner <mail at justinbogner.com> writes:
> TLDR: Heads up for out of tree backends - you're going to need to update
> your *DAGToDAGISel::Select method to unconditionally replace nodes
> directly instead of returning the desired replacement.
>
> So I'm
2010 May 26
2
[LLVMdev] [llvm-commits] [llvm] r104737 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Hello-
Shouldn't this catch swapcontext as well?
Alistair
On 26 May 2010, at 22:14, Dale Johannesen wrote:
>
> On May 26, 2010, at 2:05 PMPDT, Dan Gohman wrote:
>
>> vfork and getcontext have wildly platform-dependent semantics.
>> Handling
>> them conservatively is reasonable, even if some platforms don't need
>> it.
>>
>> Dan
>
2016 May 23
2
SelectionDAGISel::Select's API considered harmful
Can you put something in the release notes when this happens?
Thanks,
Hans
On Sat, May 21, 2016 at 10:57 AM, Justin Bogner via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Update: All in tree backends now implement `void Select`. I'll be
> removing the SelectImpl path on Monday.
>
> Justin Bogner <mail at justinbogner.com> writes:
>> TLDR: Heads up for out of
2016 May 05
2
SelectionDAGISel::Select's API considered harmful
TLDR: Heads up for out of tree backends - you're going to need to update
your *DAGToDAGISel::Select method to unconditionally replace nodes
directly instead of returning the desired replacement.
So I'm working on fixing the undefined behaviour I described in
llvm.org/PR26808. As part of this, we need to stop looking into deleted
SDNodes to check if they were, in fact, deleted. A big place
2016 Jun 28
0
Question about changes to 'SelectionDAGISel.h'
On Tue, Jun 28, 2016 at 8:53 AM, Martin J. O'Riordan via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> It occurred to me that instead of the various breakout ‘Select*’ functions
> returning the ‘SDNode*’ result, maybe I should be calling:
>
>
>
> ReplaceNode(N, newValue);
>
> return;
>
> or:
>
> SelectCode(N);
>
> return;
>
>
>
2016 Jun 28
3
Question about changes to 'SelectionDAGISel.h'
It occurred to me that instead of the various breakout 'Select*' functions
returning the 'SDNode*' result, maybe I should be calling:
ReplaceNode(N, newValue);
return;
or:
SelectCode(N);
return;
Perhaps?
MartinO
From: Martin J. O'Riordan [mailto:martin.oriordan at movidius.com]
Sent: 28 June 2016 16:49
To: 'LLVM Developers'
2016 Jun 28
0
Question about changes to 'SelectionDAGISel.h'
"Martin J. O'Riordan" <martin.oriordan at movidius.com> writes:
> Thanks Ahmed and also Alex for your replies.
>
> This is more or less what I was realising, but it is a great
> confidence booster to know that it is the correct way also. I can
> replace all of my various 'Select*' specialisations with version that
> use
2016 Jun 28
2
Question about changes to 'SelectionDAGISel.h'
Thanks Ahmed and also Alex for your replies.
This is more or less what I was realising, but it is a great confidence booster to know that it is the correct way also. I can replace all of my various 'Select*' specialisations with version that use 'ReplaceNode/SelectCode' and return 'void', but what about the places where I currently call 'Select(N)' directly?
2019 Mar 03
2
Unknown Target Node
I'm still relatively new to llvm, good to know these errors are from
CodeGen.
On 03/03/19 10:49 AM, Tim Northover wrote:
> On Sat, 2 Mar 2019 at 21:00, preejackie via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> Could you please explain how you are using this? like commands
>>
>> When I run this IR in opt, it doesn't throw any errors.
> The error
2009 May 21
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 5:26 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Wed, May 20, 2009 at 4:55 PM, Dan Gohman <gohman at apple.com> wrote:
>> Can you explain why you chose the approach of using a new pass?
>> I pictured removing LegalizeDAG's type legalization code would
>> mostly consist of finding all the places that use TLI.getTypeAction