Displaying 20 results from an estimated 40000 matches similar to: "[LLVMdev] Small error in documentation?"
2010 Feb 13
0
[LLVMdev] Small error in documentation?
On Feb 12, 2010, at 7:09 PM, Russell Wallace wrote:
> http://llvm.org/docs/ProgrammersManual.html#BasicBlock
>
> "This class represents a single entry multiple exit section of the
> code, commonly known as a basic block by the compiler community."
>
> This should perhaps read 'single entry single exit'?
basic blocks can end with conditional branches etc,
2019 Apr 29
2
How does Twine work?
I'm looking at the documentation on Twine at
http://llvm.org/docs/ProgrammersManual.html#llvm-adt-twine-h and it gives
example code:
void foo(const Twine &T);
...
StringRef X = ...
unsigned i = ...
foo(X + "." + Twine(i));
How exactly does that last line work? Since addition is left associative, I
would expect it to be parsed as (X + ".") ... so it's trying to add
2010 Feb 05
2
[LLVMdev] Basic block with two return instructions
Ah! I didn't know about verifyFunction; it does indeed catch it,
thanks! I'll leave that call in my code for all cases for the moment,
should help identify problems like that.
Is there a recommended way to avoid this problem when compiling a
language that has an explicit and optional return statement?
On Fri, Feb 5, 2010 at 5:25 PM, Garrison Venn <gvenn.cfe.dev at gmail.com> wrote:
2015 Nov 11
2
Identifying contained loops
One of the things I'm trying to do is perform high-level optimizations on
loops, which requires first identifying them. For a simple case, suppose
you have something like
for (size_t i = 0; i != n; ++i)
++a[i];
If a is a simple array, that will compile to a single basic block, which is
easy enough to identify.
But the body doesn't need to be a single basic block. It could contain
2015 Jun 15
2
[LLVMdev] Program order in inst_iterator?
On Mon, Jun 15, 2015 at 10:50 AM, mats petersson <mats at planetcatfish.com> wrote:
> It will iterate over the instructions in the order that they are stored in
> the module/function/basicblock that they belong to. And that SHOULD,
> assuming llvm-dis does what it is expected to do, be the same order.
>
Thanks for the reply. What about instruction ordering across basic
blocks?
2012 Apr 04
2
[LLVMdev] BasicBlock predecessors list
Hi there,
I'm trying to get a list of predecessors of a BasicBlock. I'm using a code similar to that on here (http://llvm.org/docs/ProgrammersManual.html#iterate_preds), but it appears to be more nodes been iterating that it should. Now, when I print out the llvm IR, I get something like:
[…]
while.body: ; preds = %7, %while.cond
[…]
for a code that
2015 Jun 15
2
[LLVMdev] Program order in inst_iterator?
Does inst_iterator
(http://llvm.org/docs/ProgrammersManual.html#iterating-over-the-instruction-in-a-function)
guarantee that the iterated instructions are in program order: the
order of instructions printed by llvm-dis?
Thanks in advance,
Anirudh
2016 Nov 28
2
LLVM Pass for Instructions in Function (error
Hi,
Sent via the Samsung Galaxy Note® 3, an AT&T 4G LTE smartphone
-------- Original message --------
From: Gurunath Kadam via llvm-dev <llvm-dev at lists.llvm.org>
Date: 11/27/2016 7:49 PM (GMT-06:00)
To: llvm-dev at lists.llvm.org
Subject: [llvm-dev] LLVM Pass for Instructions in Function (error
Hi,
Please find the embedded code. Also you may follow
2015 Jun 16
2
[LLVMdev] Program order in inst_iterator?
On 6/16/15 1:09 AM, Nick Lewycky wrote:
> Anirudh Sivaraman wrote:
>> On Mon, Jun 15, 2015 at 10:50 AM, mats
>> petersson<mats at planetcatfish.com> wrote:
>>> It will iterate over the instructions in the order that they are
>>> stored in
>>> the module/function/basicblock that they belong to. And that SHOULD,
>>> assuming llvm-dis does
2007 Jul 02
1
[LLVMdev] Getting the target information of a branch instruction
> On Mon, 2 Jul 2007 abhi232 at cc.gatech.edu wrote:
>> Hello all,
>> I am new to the llvm infrastructure so if this question is already
>> resolved please redirect me to that link.
>>
>> I am writing a pass for flow sensitive and context sensitive alias
>> analysis.for that i require the previous and next instruction of all the
>> instructions.Is there
2012 Apr 04
0
[LLVMdev] BasicBlock predecessors list
Hi Cristianno,
> I'm trying to get a list of predecessors of a BasicBlock. I'm using a code
> similar to that on here
> <http://llvm.org/docs/ProgrammersManual.html#iterate_preds>, but it appears to
> be more nodes been iterating that it should. Now, when I print out the llvm IR,
> I get something like:
> […]
> while.body: ; preds = %7, %while.cond
> […]
>
2016 Nov 28
2
LLVM Pass for Instructions in Function (error
> On Nov 27, 2016, at 6:40 PM, Gurunath Kadam via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi Sandeep,
>
> Thanks.
>
> One question about:
>
> Value* AddrPointer = Inst->getIperand(0);
>
> So this works for LVALUE(S) i.e. in my case pointer on LHS of '='. I cannot find anything online about getloperand online.
>
> For reference
2019 May 12
2
Why does verifyFunction dislike this?
I am programmatically building some functions in intermediate
representation, and trying to verify them, but the verifier always reports
that there is a problem, and I can't see why. Minimal test case:
#ifdef _MSC_VER
#pragma warning(disable : 4141)
#pragma warning(disable : 4530)
#pragma warning(disable : 4624)
#endif
#include <llvm/IR/IRBuilder.h>
#include <llvm/IR/Verifier.h>
2017 Jul 20
3
Value
Thank you! I wanted to use the right part of the instruction ,
%a = alloca i32, align 4 - %a here , but I don't quite understand the
difference between Instruction object and Value object of a, which is used
further , and in this case :
%1 = alloca i32, align 4 - I also wanted to use %1 and in this case the
only possibility is Instruction object.
2017-07-20 15:32 GMT+02:00 Evgeny Astigeevich
2015 Jul 01
4
[LLVMdev] C as used/implemented in practice: analysis of responses
On 1 July 2015 at 11:34, Russell Wallace <russell.wallace at gmail.com> wrote:
> Why do you say spin?
You're dismissing all use-cases other than this very narrow one I'd
(with my own spin) characterise as "Do What I Mean, I Can't Be
Bothered To Get My Code Right". Fair enough, you're arguing in favour
of a point; but it's not one I agree with.
Tim.
2015 Sep 20
2
simplifycfg not happening?
You're right, it can indeed.
Is there a reason -O3 doesn't do this? I had been expecting -O3 to perform
full optimization.
The first block still remains in any case. Is the first block needed for
some purpose I'm not taking into account?
On Sun, Sep 20, 2015 at 5:27 AM, Xiangyang Guo <eceguo at gmail.com> wrote:
> Hi,
>
> if you use opt -simplifycfg, the third BB can
2011 Jan 14
1
[LLVMdev] examine dominating relationships between basic blocks
I am building code which needs to examine dominating relationships
between Basic Blocks.
I searched the Programming Guide
(http://llvm.org/docs/ProgrammersManual.html#common), it mentioned
briefly that such details will be covered in the future.
So, I am tuning to the list and ask.
Say, I have BasicBlock * a, *b, and need to know whether a DOM b, (a
DOMi b, a DOMp b, a PostDOM b), etc.
How
2012 Jun 21
0
[LLVMdev] Cloning block for newbie
Please reply-all so that the thread is kept on llvmdev.
The LLVM Programmer's Manual has examples of how to iterate over many
common structures, such as instructions in a basic block[1]. Other
than that, you can check the source code or doxygen[2].
Basically, you loop over the instructions as detailed in the
programmer's manual[1], and loop over the operands using User's
2015 Dec 21
3
Hash of a module
Yes, I'm running all the existing passes that I know how to run. I didn't
know they returned change-made. Thanks!
On Mon, Dec 21, 2015 at 12:36 PM, Artur Pilipenko <
apilipenko at azulsystems.com> wrote:
> Are you going to run some of the existing passes? Why can’t you just use
> the returned change-made value from the passes?
>
> Artur
>
> > On 20 Dec 2015, at
2010 Feb 28
3
[LLVMdev] Large integers as first-class values
On Sun, Feb 28, 2010 at 9:07 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Sun, Feb 28, 2010 at 1:02 PM, Russell Wallace
> <russell.wallace at gmail.com> wrote:
>> What's the largest integer such that something like 'return ((a * b) /
>> c) >> d' works correctly on all major platforms?
>
> Twice the size of a pointer, i.e. 64 bits on