Displaying 20 results from an estimated 300 matches similar to: "[LLVMdev] CFG modifcations and code gen"
2008 Oct 14
0
[LLVMdev] CFG modifcations and code gen
On Oct 13, 2008, at 5:14 PMPDT, Villmow, Micah wrote:
> As stated in an earlier email, I am working on getting break/
> continue to work correctly for my backend, but I ran into another
> issue with codegen and the CFG. It seems that code gen is not done
> based on the CFG, but rather on the block numbers, and the function
> call MachineFunction::RenumberBlocks doesn’t
2008 Oct 14
2
[LLVMdev] CFG modifcations and code gen
But, the branch folding pass, or whatever passes are supposed to reorder
the blocks based on the CFG, are not doing so in this case. Otherwise
there is no way that blocks 2 and 4 should be printing out before blocks
3 & 5. Renumber blocks just seems to reorder the values based on their
pre-set block number, but when the CFG is modified these number should
modified also to follow the new
2008 May 14
6
Blinking-Flashing When Ever I Hit The Mouse.....
Hi,
I have Ubuntu with all the update and stuff... The problem I'm having is very odd.... lets use couter strike source as a example... I can get in to the game just perfect, everything loads and everything is fine.. But once i start to click on my mouse, the screen flashes white....for like 1ms.... It does it every time... It also does it in Warcraft III when it opens.. .and also it does it
2010 Jan 18
0
R jobs keep hanging linux server despite mem.limits modifcations
My group is working with datasets between 100 Mb and 1 GB in size, using
multiple log ins. From the documentation, it appears that vsize is limited
to 2^30-1, which tends to prove too restrictive for our use. When we drop
that restriction (set vsize = NA) we end up hanging the server, which
requires a restart. Is there any way to increase the memory limits on R
while keeping our jobs from
2008 Oct 14
0
[LLVMdev] CFG modifcations and code gen
On Oct 14, 2008, at 9:16 AM, Villmow, Micah wrote:
> But, the branch folding pass, or whatever passes are supposed to
> reorder the blocks based on the CFG, are not doing so in this case.
> Otherwise there is no way that blocks 2 and 4 should be printing out
> before blocks 3 & 5. Renumber blocks just seems to reorder the
> values based on their pre-set block number,
2008 Oct 14
0
[LLVMdev] CFG modifcations and code gen
After a bunch more investigate, I've seem to have figured out what is
going on here. The MachineFunction holds a vector of MachineBasicBlocks
and it is this vector that is traversed by the MachineFunction iterator
when printing out instructions. The problem is occurring when a
modification to the CFG moves around so that the ordering of them is
different. Even if the pred/succ blocks are
2020 Mar 10
4
RFC: Making a common successor/predecessor interface
Hi Dave,
It may be possible to do this with the current API, but what I was looking
for is a common API for existing block types. For example there is no
succ_begin for Machine BasicBlock.
I'm looking to make the CFGSuccessors and CFGPredecessors classes in
CFGDiff.h templated, and this needs a common API for all types
instantiations.
Does this clarify your question or did I misunderstand
2020 Mar 10
2
RFC: Making a common successor/predecessor interface
On Tue, Mar 10, 2020 at 2:30 PM David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Tue, Mar 10, 2020 at 8:31 AM Alina Sbirlea <alina.sbirlea at gmail.com>
> wrote:
>
>> Hi Dave,
>>
>> It may be possible to do this with the current API, but what I was
>> looking for is a common API for existing block types. For example there is
>> no
2008 Oct 14
2
[LLVMdev] CFG modifcations and code gen
Chris,
I took a look at AnalyzeBranch and I don't see how it can solve my
problem. The issue itself isn't with branching, as I can handle branches
fairly well in my custom pass(see the before and after dot files
attached). I can take a bunch of branches and construct high level
control flow for my backend since I have no ability to do goto/jump,
only whileloop and ifs. So analyzing the
2020 Mar 09
3
RFC: Making a common successor/predecessor interface
Hi,
As part of an ongoing work to extend the GraphDiff (this models a CFG
view), I came across the need to have a common interface for accessing
successors/predecessors in various IR units, such that a type such as
`typename NodeT::succ_iterator` could be used in templated code.
In particular, the need arose for BasicBlocks, MachineBasicBlocks,
VPBlockBase and clang::CFGBlock.
The least invasive
2010 Oct 07
2
[LLVMdev] [LLVMDev] Has anyone written this?
It would go something like like the code below. The goal would be to
turn the basic blocks which the graph looks like "...->x->y->..."
where the instructions of x and y could live in the same basic block
without a jump or fall through in between.
bool runOnMachineFunction(MachineFunction &mf) {
BitVector seen( mf.size() );
for( unsigned i = 0, e = mf.size();
2002 Nov 11
3
[LLVMdev] question about BasicBlock
Dear LLVM,
Is there any simple way to decide whether there is a control path from one
Basic Block to another Basic Block?
thanks,
Jerry
2010 Oct 06
2
[LLVMdev] [LLVMDev] Has anyone written this?
Has anyone written a pass at the MachineFunction level which combines
machine basic blocks which is guaranteed to be the single predecessor
to another block? Or is there a reason not to combine them?
- Thanks
Jeff Kunkel
2010 Oct 06
0
[LLVMdev] [LLVMDev] Has anyone written this?
On Oct 6, 2010, at 4:31 PM, Jeff Kunkel wrote:
> Has anyone written a pass at the MachineFunction level which combines
> machine basic blocks which is guaranteed to be the single predecessor
> to another block? Or is there a reason not to combine them?
I'm not sure exactly what transformation you're referring to, but BranchFolder::OptimizeBranches does a lot of things like that.
2014 May 10
2
[LLVMdev] error compiling llvm 2.9/3.2 from source on macosx (possibly stdlibc++ issue)
Hello,
I've some exceptions which I would like to solve to build LLVM+Clang
from source on MacOSX 10.8+.
"
/Users/travis/build/vpmedia/crossbridge/llvm-2.9/lib/Transforms/Utils/CodeExtractor.cpp:728:28:
[0;1;31m
error: no matching constructor for initialization of
'std::vector<BasicBlock *>' std::vector<BasicBlock*>
Succs(succ_begin(codeReplacer),
"
I
2008 Sep 20
0
[LLVMdev] Disappearing Machine Basic Blocks (for new instruction)
For anyone to have any shot of answering your question, you need to
provide more information. To start, please figure out which pass
deleted the block, what does the machine function looks like before
and after.
Evan
On Sep 19, 2008, at 4:14 PM, Edward Lee wrote:
> I have a new instruction that takes 2 labels, and in SelectionDAGISel,
> I have it doing
2009 Aug 06
0
[LLVMdev] code-altering Passes for llc
On Aug 6, 2009, at 5:45 AM, Artjom Kochtchi wrote:
> So I was searching for a possibility to include an additional
> (Machine)BasicBlock (or rather a MachineFunction?) somewhere in the
> program
> that contains the program termination and that I can jump to on check
> failure. Can't I do that during a Pass in llc?
If you just have a magic block of instructions you want to
2010 Apr 14
3
[LLVMdev] indirect jumps
Hi,
What kind of C/C++ high level code can generate a computed jump, such as:
jmpq *%r14
or
jmpq *(%r14,%rbx,8)
?
I imagine that any calls (including virtual) would use something like 'call *%r14',
and the above jumps are mostly from 'switch' statements.
Is this correct?
Anything else?
Thank you,
Dan
2008 Oct 26
1
Every game is out of sync.
Hello,
First - Sorry for my English.
My problem is, that every game that I run in Wine turns of my monitor. It say, that resolution is out of range. But when I checked monitor on windows, those resolutions worked properly.
When I run game (in virtual desktop) and set resolution to 1024x768, than disable virtual desktop and again run game every thing is ok, but in this resolution game is slow. I
2002 Nov 11
1
[LLVMdev] question about BasicBlock
Acutally I mean whether we can start from a node in the graph and follow a
path which might be very long, to reach another node. Is there a quick way
to do that?
thanks,
xiaodong
On Mon, 11 Nov 2002, Chris Lattner wrote:
>
> > Is there any simple way to decide whether there is a control path from one
> > Basic Block to another Basic Block?
>
> No efficient way, but you