Displaying 20 results from an estimated 20000 matches similar to: "Why is printing an Instruction so slow?"
2018 Dec 09
2
Parse LLVM IR
Hello,
I am a newbie to LLVM and right now I am on the hook to parse some IR code
and do some instrumentations. However, my problem is that no matter how I
tweak my parsing code, it simply cannot print out anything.
So here is my C code:
int your_fun(int arg2) {
int x = arg2;
return x+2;
}
And here is my parsing code:
#include <llvm/IR/Module.h>
#include
2011 Oct 12
2
[LLVMdev] llvm-objdump related patch
Michael,
I have rework the patch according to your suggestion. And I have
read binutil/objdump source code and found that it has a logic that if
there's no symtab, it will use dynsym, which is missing in llvm-objdump.
Songmao
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-the-address-calculation-for-llvm-objdump.patch
Type: text/x-patch
2009 Dec 19
2
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Friday 18 December 2009 19:47, Chris Lattner wrote:
> On Dec 18, 2009, at 3:46 PM, David Greene wrote:
> > + /// circular_raw_ostream - A raw_ostream that saves its output in a
> > + /// circular buffer.
>
> A better description would be "which *can* save its data to a circular
> buffer, or can pass it through directly to an underlying stream if
> specified
2009 Dec 18
2
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Friday 18 December 2009 17:27, David Greene wrote:
> > Here's the updated patch.
>
> Well, that didn't go through right. Here it is again.
Argh! Stupid bug fixed. :)
Index: include/llvm/Support/circular_raw_ostream.h
===================================================================
--- include/llvm/Support/circular_raw_ostream.h (revision 0)
+++
2009 Dec 18
4
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Friday 18 December 2009 12:28, Chris Lattner wrote:
> This is looking a lot better, here are some more comments:
> > + /// current_pos - Return the current position within the stream,
> > + /// not counting the bytes currently in the buffer.
> > + virtual uint64_t current_pos() {
>
> I didn't notice this earlier, but is there any reason for current_pos
2016 Oct 29
1
Problems with Inline ASM expressions generated in the back end
Hello.
I generated in the back end by hand (in C++ code, not with TableGen) some fancy
assembly code using Inline ASM expressions and if I use 2 functions in my source code (but
NOT just 1 function; I will not present the functions, but each requires me to generate an
Inline ASM expression) I get this error at compilation (at scheduling):
BB#0: derived from LLVM BB %entry
2012 Jun 02
3
[LLVMdev] [llvm-commits] [PATCH] Allow per-thread re-direction of outs()/errs()
On Jun 1, 2012, at 11:13 PM, Justin Holewinski wrote:
>> In a way, they are. What if I want a debug trace in a multi-threaded context? Right now, all threads would just spew to the same stream and the result would be unreadable. If you allow threads to setup their own outs() and errs() streams (transparently to the rest of LLVM), you can intercept these as you see fit, perhaps dumping
2009 Dec 17
2
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Wednesday 16 December 2009 13:35, David Greene wrote:
> > Please make BufferSize an 'unsigned' and default it to 8192. Please use
> > PRESERVE_STREAM instead of 'false'.
Here's an updated version of the circular buffer. Ok to check in?
-Dave
Index: include/llvm/Support/circular_raw_ostream.h
2019 Mar 25
2
Printing PC-relative offsets - how to get the instruction length?
Hi
In my MC6809 backend, in llvm/lib/Target/MC6809/InstPrinter/MC6809InstPrinter.cpp, I have the routine
void MC6809InstPrinter::printPCRelImmOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
const MCOperand &Op = MI->getOperand(OpNo);
ZZ
if (Op.isImm()) {
int64_t Imm = Op.getImm() + 2; <<<========================
O << "$";
if (Imm
2009 Dec 19
0
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Dec 18, 2009, at 3:46 PM, David Greene wrote:
>
> + /// circular_raw_ostream - A raw_ostream that saves its output in a
> + /// circular buffer.
A better description would be "which *can* save its data to a circular
buffer, or can pass it through directly to an underlying stream if
specified with a buffer of zero."
When it is buffering, what causes it to flush? Your
2012 Jun 02
0
[LLVMdev] [llvm-commits] [PATCH] Allow per-thread re-direction of outs()/errs()
On Sat, Jun 2, 2012 at 8:56 AM, Chris Lattner <clattner at apple.com> wrote:
> On Jun 1, 2012, at 11:13 PM, Justin Holewinski wrote:
>
> In a way, they are. What if I want a debug trace in a multi-threaded
>> context? Right now, all threads would just spew to the same stream and the
>> result would be unreadable. If you allow threads to setup their own outs()
2016 Dec 07
2
Race condition in raw_ostream
This code from raw_ostream.h is really racy:
raw_ostream &operator<<(StringRef Str) {
// Inline fast path, particularly for strings with a known length.
size_t Size = Str.size();
// Make sure we can use the fast path.
if (Size > (size_t)(OutBufEnd - OutBufCur))
return write(Str.data(), Size);
if (Size) {
memcpy(OutBufCur, Str.data(), Size);
2016 Dec 07
3
Race condition in raw_ostream
On Wed, Dec 7, 2016 at 10:02 AM, Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
> > On Dec 7, 2016, at 1:52 AM, Viacheslav Nikolaev via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > This code from raw_ostream.h is really racy:
> >
> > raw_ostream &operator<<(StringRef Str) {
> > // Inline fast path,
2009 Dec 18
0
[LLVMdev] [PATCH] Circular Buffered Debug Stream
On Dec 17, 2009, at 3:41 PM, David Greene wrote:
> On Wednesday 16 December 2009 13:35, David Greene wrote:
>
>>> Please make BufferSize an 'unsigned' and default it to 8192. Please use
>>> PRESERVE_STREAM instead of 'false'.
>
> Here's an updated version of the circular buffer. Ok to check in?
This is looking a lot better, here are some more
2012 May 31
2
[LLVMdev] [PATCH] Allow per-thread re-direction of outs()/errs()
The attached patch add the ability to programmatically re-direct outs()/errs() to an arbitrary raw_ostream instance, maintaining the raw_ostream instances in a stack structure so clients can push/pop streams at will. The stack is also maintained in thread-local storage, so different threads can re-direct individually. This allows for two use cases:
1. Compilers can attach custom streams to
2016 Dec 07
2
Race condition in raw_ostream
> On Dec 7, 2016, at 10:27 AM, Viacheslav Nikolaev <viacheslav.nikolaev at gmail.com> wrote:
>
> > I believe it’ll always forward directly to raw_fd_ostream::write_impl(), which is calling the libc ::write().
>
> Do you mean raw_fd_ostream somehow overrides the operator<< the code for which I extracted?
> I cannot see if that is so. And I really saw it didn't
2012 Jun 02
2
[LLVMdev] [llvm-commits] [PATCH] Allow per-thread re-direction of outs()/errs()
On Jun 1, 2012, at 7:41 PM, Justin Holewinski wrote:
> >
> > Unfortunately, the use of outs() and (especially) errs() is rampant - a simple grep of the 3.1 source tree shows about 1,500 instances. One of the first things we had to implement in order to make LLVM usable is something very similar to what Justin has proposed. Centralizing control of the output in outs()/errs() would
2016 Mar 25
3
Link error on Linux
Tried that just now, same result.
On Fri, Mar 25, 2016 at 6:58 AM, Snehasish Kumar <kumar.snehasish at gmail.com>
wrote:
> Hi Russel,
>
> Can you try compiling aklo.o using -fno-rtti prior to linking?
>
> On Thu, Mar 24, 2016 at 11:44 PM, Russell Wallace via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I'm trying to link a program with LLVM on Linux.
2016 Mar 25
2
Link error on Linux
I'm trying to link a program with LLVM on Linux. I've managed to take out
the test files from 'llvm-config --libs' but now it's getting errors with
missing symbols. The same program successfully links with the same version
of LLVM (3.8) on Windows, so it's not a problem with the code per se, it's
some kind of configuration issue. Any ideas?
g++ -std=c++11
2012 Jun 02
3
[LLVMdev] [llvm-commits] [PATCH] Allow per-thread re-direction of outs()/errs()
If I may add my two cents:
I am planning to use LLVM as the backend for a compiler I am working on.
And I wholeheartedly agree with Justin that it is a problem, if LLVM is
allowed to freely write to stdout and stderr as it is a component which can
be used in all sorts of code, be it a GUI IDE, a CLI driver, or whatever.
Also, I have a number of times wondered about the somewhat unusual use of