search for: machineblock

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...