similar to: How to find the root causes of compiler bugs in practice?

Displaying 20 results from an estimated 1000 matches similar to: "How to find the root causes of compiler bugs in practice?"

2020 Nov 06
0
How to find the root causes of compiler bugs in practice?
In general, finding the root cause in LLVM is not really a big difference than debugging a normal software: Depending on the scenario, if it’s a crash then putting it on a gdb is probably the first step you wanna do. And this usually can tell you the answer pretty fast. More tricky scenarios usually involving developers to leverage various of LLVM-specific diagnosing features, the
2020 Jun 26
4
Introducing the binary-level coverage analysis tool bcov
## TL;DR We introduce bcov, an open-source binary-level coverage analysis tool [1]. The details are discussed in our paper [2], which is accepted to ESEC/FSE'20. bcov statically instruments x86-64 ELF binaries without compiler support. It features several techniques that allow it to achieve high performance, transparency, and flexibility. For example, running "make
2011 Nov 09
3
[LLVMdev] Alternate instruction sequences
I was wondering, is there any way to express in the IR that an instruction/instruction sequence/basic block/region/function/module/whatever is an alternate version of another? e.g. let's keep things simple and say that I have an instruction I. An optimization pass reads it and could be able to produce one or more functionally-equivalent instructions I1, ..., In without being really able
2016 Feb 26
1
Publication: Flowtables: Program Skeletal Inversion for Defeat of Interprocedural Analysis with Unique Metamorphism
http://dl.acm.org/citation.cfm?id=2843863 Luke Jones, Ryan Whelan, Jeremy Blackthorne, and Graham Baker. 2015. Flowtables: Program Skeletal Inversion for Defeat of Interprocedural Analysis with Unique Metamorphism. In Proceedings of the 5th Program Protection and Reverse Engineering Workshop (PPREW-5). ACM, New York, NY, USA, , Article 6 , 11 pages. DOI=http://dx.doi.org/10.1145/2843859.2843863
2010 May 19
4
[LLVMdev] Support for per-loop pragma
Hi Chris, Thanks. I will see what I can do for this. Junjie On Wed, May 19, 2010 at 3:45 PM, Chris Lattner <clattner at apple.com> wrote: > > On May 19, 2010, at 2:38 PM, Junjie Gu wrote: > >> Many compilers support per-loop pragma, such as loop unrolling (ie >> #pragma unroll=2).  Is there any LLVM project/effort going on >> in this area ? What is the expected
2010 Feb 04
2
[LLVMdev] Integrated instruction scheduling/register allocation
A more pressing need is a pre-regalloc scheduler that can switch modes to balance reducing latency vs. reducing register pressure. The problem is the current approach is the scheduler is locked into one mode or the other. For x86, it generally makes sense to schedule for low register pressure. That is, until you are dealing with a block that are explicitly SSE code in 64-bit mode. In that case,
2020 Jun 28
3
Introducing the binary-level coverage analysis tool bcov
Hi Fangrui, Many thanks for providing such detailed feedback! Please find my comments inlined below. - Ammar On Sun, Jun 28, 2020 at 5:59 AM Fangrui Song <maskray at google.com> wrote: > On 2020-06-26, Ammar Ben Khadra via llvm-dev wrote: > >## TL;DR > > > >We introduce bcov, an open-source binary-level coverage analysis tool [1]. > >The details are discussed
2006 Apr 01
2
Instant Rails 1.1
Instant Rails is a one-stop Rails runtime solution containing Ruby, Rails, Apache, and MySQL, all preconfigured and ready to run. No installer, you simply drop it into the directory of your choice and run it. It does not modify your system environment. This release of Instant Rails is for Windows, but there are plans for ports to Linux, BSD, and OSX. This release upgrades Rails to 1.1 and the
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
I'd like to add a pragma support in llvm. I am thinking about using a llvm intrinsic to represent each pragma, such as llvm.pragma (metadata, ...) where metadata describes a pragma. So if an application has: #pragma p1 .. #pragma p2... for (...) The llvm IR would be llvm.pragma (metadata..) // for p1 llvm.pragma (metadata..) // for p2 llvm IR for "for
2010 Jan 22
1
[LLVMdev] debugging a pass for LTO
Thank you very much for your suggestions. That's very helpful. However, since I'm trying to compile several somewhat large projects, I assume generating bitcode for each single file and linking them together might be painful (I don't want to modify too much the project makefiles). So I hope my pass can be used just with simple compilation command like "llvm-gcc
2016 Jan 30
4
DCE in the presence of control flow.
I think you can also avoid the RDF computation using a more directed form of control dependence testing such as described in Keshav Pingali and Gianfranco Bilardi. 1997. Optimal control dependence computation and the Roman chariots problem. ACM Trans. Program. Lang. Syst. 19, 3 (May 1997), 462-491. DOI=http://dx.doi.org/10.1145/256167.256217 However one challenge seems to be fixing the SSA graph
2010 Jun 02
3
[LLVMdev] Support for per-loop pragma
On Tue, Jun 1, 2010 at 5:42 PM, Junjie Gu <jgu222 at gmail.com> wrote: > Any suggestions/ideas ? IIUC, Chris suggested something like following ... header: br i1 %x, label %then, %label endif then: ... br i1 %y, label %loop_exit, label %header, !loop_pragma !1 endif: ... br i1 %z, label %loop_exit, label %header, !loop_pragma !2 loop_exit: ret i32 1 Where !1 and !2 are the
2008 Mar 25
2
[LLVMdev] What is "strong phi elimination"
Can you describe quickly (or point to references for the inclined) what this pass will do and what other stuff it might enable for LLVM? I'm just curious. -- Christopher Lamb -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080324/46829334/attachment.html>
2008 Mar 17
3
[LLVMdev] Array Dependence Analysis
>> As part of the advanced compilers course semester project (at >> UIUC), we >> are starting to implement array dependence analysis for LLVM. Great! This is something we've needed for a long time. > I'm currently working on a similar project and hoping to finish it in > about two weeks. Cool! I think the most critical part of this is to get a good
2010 May 19
2
[LLVMdev] Support for per-loop pragma
Many compilers support per-loop pragma, such as loop unrolling (ie #pragma unroll=2). Is there any LLVM project/effort going on in this area ? What is the expected way for implementing per-loop pragma, or general pragma ? Suggestions/comments ? Thanks Junjie
2010 Jun 07
2
[LLVMdev] Modifing an operand of MDNode
I have a MDNode, and one of its operand is an int. I'd like to assign a new int value to that operand during the llvm optimization. What is the right way to do this ? (There is no setOperand() with MDNode class.) Junjie
2011 Mar 04
3
[LLVMdev] configure llvm for 32-bit build on a 64-bit system
I have TOT of llvm and it builds 64-bit without issues on my 64-bit ubuntu. My question is how to build 32-bit llvm on my 64-bit ubuntu ? I've not found any configure options to specify that. Thanks Junjie
2008 Sep 21
2
R Map using SAS data
Hi there, I'd like to plot some maps. Is it possible for me to use SAS map data in R? Thank you. Best, Junjie _________________________________________________________________ your life. [[alternative HTML version deleted]]
2011 Mar 16
2
[LLVMdev] linkage type
What is the difference between WeakAnyLinkage and ExternalWeakLinkage ? They are defined in GlobalValue.h. Thanks Junjie
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
Thanks for comments/suggestions. Yes, attaching metadata to instructions will be good choices for many cases. But for loops, attaching metadata to back-edges requires that the front end to build loops, which is an additional task for the front end. And this task is really a backend's job, not the front end's. If the only concern is that it is hard for pragma intrinsics to stay with their