Displaying 20 results from an estimated 800 matches similar to: "[LLVMdev] strange dbgs() behavior: unable to print floats in machine backend"
2012 Nov 27
0
[LLVMdev] strange dbgs() behavior: unable to print floats in machine backend
Can you try making the constructor "explicit" for PrintReg in
include/llvm/Target/TargetRegisterInfo.h. I think you were getting an
implicit conversion there which should probably be fixed anyway.
On Mon, Nov 26, 2012 at 11:47 PM, Bjorn De Sutter <
bjorn.desutter at elis.ugent.be> wrote:
> Hi,
>
> that solved my problem on trunk as well, thanks. Strange that you have to
2012 Nov 27
1
[LLVMdev] strange dbgs() behavior: unable to print floats in machine backend
Hi Craig,
I updated from the trunk some minutes ago, and thus got the "explicit". PrintReg constructor. When I do not include raw_ostream.h after including Debug.h in the backend cpp files, I now get compilation errors, not only when trying to print floats but also in other places. For example, for the code
bool ADRESRegisterInfo::hasReservedCallFrame(const MachineFunction &MF)
2012 Nov 26
0
[LLVMdev] strange dbgs() behavior: unable to print floats in machine backend
Hi,
I am trying to debug my backend, and observe very strange behavior with dbgs():
In the IfConverter, I have added two debugging lines that print floating-point numbers for the sake of demonstration that such printing works fine.
bool MeetIfcvtSizeLimit(MachineBasicBlock &BB,
unsigned Cycle, unsigned Extra,
const BranchProbability
2014 Mar 12
3
[LLVMdev] llc debug info
I can generate debug info using opt like this:
opt < a.bc > /dev/null -mypass -debug
But I don't know how to do it using llc.
I check http://llvm.org/docs/CommandGuide/llc.html
there are not any information about debug flags.
Purpose
EX:
I want to print all the DEBUG(dbgs()......) in
llvm/lib/CodeGen/RegAllocGreedy.cpp .
What should I do?
-------------- next part --------------
An HTML
2009 Dec 19
0
[LLVMdev] [PATCH] dbgs() Use
On Dec 17, 2009, at 4:08 PM, David Greene wrote:
> Here's an example patch of how dbgs() will be used. Essentially I
> will
> replace uses of errs() with dbgs(). I believe this is the correct
> thing
> to do because:
>
> - With #define NDEBUG, dbgs() == errs()
>
> - With debugging and -debug-buffer-size=0 (the default), dbgs() just
> passes output to
2010 Sep 04
1
[LLVMdev] [LLVMDev] Using dbgs()
When using "DEBUG( dbgs() << "whatever" );" Do I need to insert a line
terminator. Like "DEBUG( dbgs() << "whatever" << std::endl );"
Thanks
Jeff Kunkel
2009 Dec 19
0
[LLVMdev] [PATCH] Implement dbgs()
On Dec 17, 2009, at 4:02 PM, David Greene wrote:
> Here's the patch to provide dbgs(). By default it works just like
> errs().
> When -debug-buffer-size=N (N > 0) is set, it buffers output sent to
> it and
> dumps it at program termination via a signal handler.
>
> Please review. Thanks!
>
> -Dave
>
> Index:
2009 Dec 19
0
[LLVMdev] [PATCH] Implement dbgs()
On Dec 18, 2009, at 6:36 PM, David Greene wrote:
>>> +// Signal handlers - dump debug output on termination.
>>> +static void debug_user_sig_handler(void *Cookie)
>>> +{
>>> + llvm::circular_raw_ostream *logout =
>>> + dynamic_cast<llvm::circular_raw_ostream *>(&llvm::dbgs());
>>
>> Please do not use dynamic_cast, we're
2009 Dec 18
2
[LLVMdev] [PATCH] dbgs() Use
Here's an example patch of how dbgs() will be used. Essentially I will
replace uses of errs() with dbgs(). I believe this is the correct thing
to do because:
- With #define NDEBUG, dbgs() == errs()
- With debugging and -debug-buffer-size=0 (the default), dbgs() just
passes output to errs().
- When -debug-buffer-size>0, you want to buffer ALL output so that you
don't get some
2009 Dec 21
0
[LLVMdev] [PATCH] Implement dbgs()
On Dec 21, 2009, at 8:42 AM, David Greene wrote:
> On Monday 21 December 2009 10:14, Török Edwin wrote:
>> On 2009-12-21 18:06, David Greene wrote:
>>> On Saturday 19 December 2009 00:16, Chris Lattner wrote:
>>>>> Or I think I can just assume (Yikes!) that if the signal handler is
>>>>> invoked it will really be a circular_raw_ostream since the
2009 Dec 21
0
[LLVMdev] [PATCH] Implement dbgs()
On 2009-12-21 18:06, David Greene wrote:
> On Saturday 19 December 2009 00:16, Chris Lattner wrote:
>
>
>>> Or I think I can just assume (Yikes!) that if the signal handler is
>>> invoked it will really be a circular_raw_ostream since the handler
>>> should (!) only be set up in debug mode.
>>>
>>> That scares me a bit, though.
>>>
2009 Dec 21
2
[LLVMdev] [PATCH] Implement dbgs()
On Monday 21 December 2009 10:14, Török Edwin wrote:
> On 2009-12-21 18:06, David Greene wrote:
> > On Saturday 19 December 2009 00:16, Chris Lattner wrote:
> >>> Or I think I can just assume (Yikes!) that if the signal handler is
> >>> invoked it will really be a circular_raw_ostream since the handler
> >>> should (!) only be set up in debug mode.
>
2009 Dec 19
3
[LLVMdev] [PATCH] Implement dbgs()
On Friday 18 December 2009 19:56, Chris Lattner wrote:
> > +// -debug-buffer-size - This is a command line op0tion to set the
> > size
> > +// of the debug stream circular buffer. The value is the number of
> > +// characters to save.
> > +static cl::opt<unsigned>
> > +DebugBufferSize("debug-buffer-size",
> > +
2009 Dec 18
2
[LLVMdev] [PATCH] Implement dbgs()
Here's the patch to provide dbgs(). By default it works just like errs().
When -debug-buffer-size=N (N > 0) is set, it buffers output sent to it and
dumps it at program termination via a signal handler.
Please review. Thanks!
-Dave
Index: include/llvm/Support/Debug.h
===================================================================
---
2009 Dec 21
2
[LLVMdev] [PATCH] Implement dbgs()
On Saturday 19 December 2009 00:16, Chris Lattner wrote:
> > Or I think I can just assume (Yikes!) that if the signal handler is
> > invoked it will really be a circular_raw_ostream since the handler
> > should (!) only be set up in debug mode.
> >
> > That scares me a bit, though.
>
> Why don't you just check #ifndef NDEBUG like the code that sets it up?
2019 Apr 11
2
Upper case vs lower case in printed and parsed MIR
I am confused about the rules for when upper and lower case letters should be used in MIR.
As an example our downstream target has upper case letters in its sub-register indices and as a result we cannot import exported MIR without manually 'lower casing' it first which is obviously rather annoying.
Looking in https://llvm.org/docs/MIRLangRef.html it is stated that instruction names are
2020 Mar 24
3
Questions on ifconversion and predication
Assume an architecture that has multiple condition code registers, e.g., powerpc.
Now assume that there are predicate instructions like thumb2, but can specify
which condition code register they refer to.
Now also assume that these predicate instructions themselves are predicatible,
if executed they change the current predication state.
Can LLVM handle multiple levels of predication?
When is
2017 Apr 27
4
-msave-args backend support for x86_64
ola,
ive been looking at adding support for an -msave-args option for
use on x86_64. the short explanation of it is that it makes x86_64
function prologues store their register arguments on the stack. the
purpose of this is to make the arguments trivially accessible for
things like stack traces with arguments.
as per
https://blogs.oracle.com/sherrym/entry/obtaining_function_arguments_on_amd64,
2017 Jan 10
2
[PATCHish] IfConversion; lost edges for some diamonds
On Tue, Jan 10, 2017 at 2:31 AM, Peter A Jonsson <pj at sics.se> wrote:
> Hi Kyle,
>
> my apologies for mailing you directly but it seems new user creation is
> disabled on the llvm bugzilla.
>
> We sometime lose edges during IfConversion of diamonds and it’s not
> obvious how to reproduce on an upstream target. The documentation for
> HasFallThrough says *may*
2014 Mar 28
2
[LLVMdev] How to extract the starting address of each basic block with llvm?
Dear all,
I use the clang frontend to produce the control flow graph of a C program
through
this command:
clang -Xclang -analyze -Xclang -analyzer-checker=debug.DumpCFG test.c
The produced information contains all the basic blocks identified by labels,
e.g. B1, B2, etc. along with their predecessors and successors.
Is there a way to get the starting address of each of these basic block?
I would