Displaying 8 results from an estimated 8 matches for "machineblock".
2009 Jun 03
0
[LLVMdev] Adding instructions to MachineBlock
On Wed, Jun 3, 2009 at 12:46 PM, Manjunath Kudlur<keveman at gmail.com> wrote:
> Hello,
>
> I am writing a MachineFunction pass that converts vector instructions
> to a sequence of scalar instructions.
Why? That really isn't the level you want to be doing that sort of
thing normally. Usually, legalization turns illegal vector operations
into legal scalar operations.
-Eli
2009 Jun 03
2
[LLVMdev] Adding instructions to MachineBlock
Hello,
I am writing a MachineFunction pass that converts vector instructions
to a sequence of scalar instructions. First, I go through the function
and look for vector registers. For each vector register, I create a
set of corresponding scalar registers using createVirtualRegister()
function and put it in a map. Then I go through the function and
replace vector instructions.The basic structure of
2009 Sep 08
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
...g information
through all the transformation passes and make it available to the
backend machinery.
Attached is an example patch on how I plan to preserve the information
for a given transformation pass.
And now comes the question into place: whats the best way to attach the
profile info also the MachineBlocks and MachineFunctions? I was thinking
of converting the ProfileInfo into a template and using it for both
BasicBlocks and MachineBasicBlocks.
And where is the best point to transfer this information from the
bytecode CFG to the machinecode CFG?
Thanks, Andi
- --
=================================...
2008 Jan 22
0
[LLVMdev] Walking all the predecessors for a basic block
...es an iterator abstraction to perform
a forward/reverse DFS traversal of a graph.
Many of the LLVM datatypes that represent graphs have a template
specialization of the GraphTraits<> class which allows separate
algorithms to treat them as graphs, walk them, etc. (Both BasicBlock
and MachineBlock have such template specializations; e.g. include/llvm/
Support/CFG.h for the specialization for BasicBlock).
DepthFirstIterator works on any datatype that has a specialization of
GraphTrait.
For your particular task, I *think* you would do the following
(someone else please correct me if I...
2020 Mar 09
2
Manipulating Arch specific code generator state
Hello all on the list,
I’m developing a backend for the 65816, however, I need a way to store some
state, as processor flags can affect how instructions operate (including
the length of some), as well as the calling convention. I need to track for
each of these flags (x, m, and e) Set, Unset, Indeterminate. I was
wondering if there was a nice way to store this with the MBB, so I can make
sure
2008 Jan 22
3
[LLVMdev] Walking all the predecessors for a basic block
Hi all,
Is there a way to walk through ALL the predecessors of a basic block
in a CFG. I tried to iterate over the preds using this method
for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++I) {
BasicBlock *PredBB = *PI;
}
but this only gives the immediate predecessors for a basic block.
For example, in this sample control flow graph.
entry -> bb1 -> bb2 -> bb4
2008 Jan 23
1
[LLVMdev] Walking all the predecessors for a basic block
...ction to perform
> a forward/reverse DFS traversal of a graph.
>
> Many of the LLVM datatypes that represent graphs have a template
> specialization of the GraphTraits<> class which allows separate
> algorithms to treat them as graphs, walk them, etc. (Both BasicBlock
> and MachineBlock have such template specializations; e.g. include/llvm/
> Support/CFG.h for the specialization for BasicBlock).
> DepthFirstIterator works on any datatype that has a specialization of
> GraphTrait.
>
> For your particular task, I *think* you would do the following
> (someone else p...
2009 Sep 08
0
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
...s.
At a brief glance, this looks good. It would be helpful to override the
verifyAnalysis method from the Pass class to verify that the profiling
information has been kept current.
>
> And now comes the question into place: whats the best way to attach
> the
> profile info also the MachineBlocks and MachineFunctions? I was
> thinking
> of converting the ProfileInfo into a template and using it for both
> BasicBlocks and MachineBasicBlocks.
>
> And where is the best point to transfer this information from the
> bytecode CFG to the machinecode CFG?
The SelectionDAGBuild...