similar to: [LLVMdev] New idea thoughts: Optimization passes have callbacks to identify changes made to IR

Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] New idea thoughts: Optimization passes have callbacks to identify changes made to IR"

2015 May 07
2
[LLVMdev] RFC - Improvements to PGO profile support
On Thu, May 7, 2015 at 8:43 AM, Bob Wilson <bob.wilson at apple.com> wrote: > >> On May 7, 2015, at 12:55 AM, Hayden Livingston <halivingston at gmail.com> wrote: >> >> Can you tell us if you're continuing to use the same approach as >> described in one of the LLVM meetings, i.e. instrument at the clang >> AST level? > > Yes, that is the
2015 May 07
3
[LLVMdev] RFC - Improvements to PGO profile support
Can you tell us if you're continuing to use the same approach as described in one of the LLVM meetings, i.e. instrument at the clang AST level? Also, do you generate GCOV files, some yaml, or is this a separate format? And finally in the meeting you had given how you assign counters to the blocks, an algorithm to minimize the number of insertions. Is that algorithm a well-known one or a
2015 Feb 18
3
[LLVMdev] Calling into non-linked function via a pointer
This is my module's dump, which is different than yours. I wonder how I can get the external thing for my function. define double @sum(double, double) { entry: call void @FooBar() %tmp = fadd double %0, %1 ret double %tmp } ; ModuleID = 'My_Module' define double @sum(double, double) { entry: call void @FooBar() %tmp = fadd double %0, %1 ret double %tmp } declare void
2015 Mar 14
3
[LLVMdev] stability of llvm ir across releases
Are you saying the textual form of IR can change, but bitcode doesn't? I don't know what you mean by assembly syntax. Is there a changlog entry when the textual IR changes? On Sat, Mar 14, 2015 at 5:22 AM, Jeremy Lakeman <Jeremy.Lakeman at gmail.com> wrote: > Assembly syntax can and will break between versions. But bitcode should > generally be upgradeable, or a bug should
2015 Feb 03
2
[LLVMdev] OrcJIT in LLVM C bindings
Thanks, David. I'd be happy to add the bindings .. is there a general way we add them? Or do you just scrub the API and make sensible judgements to the API? On Sun, Feb 1, 2015 at 1:55 PM, David Blaikie <dblaikie at gmail.com> wrote: > > > On Sun, Feb 1, 2015 at 10:58 AM, Hayden Livingston <halivingston at gmail.com > > wrote: > >> Hello, >> >> I
2015 Feb 01
3
[LLVMdev] OrcJIT in LLVM C bindings
Hello, I was wondering if there is someone already working on putting the new OrcJIT APIs in the LLVM-C bindings? Also, is there a general consensus to also add C bindings when new major features are added? Hayden -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150201/061f5949/attachment.html>
2015 Feb 18
3
[LLVMdev] Calling into non-linked function via a pointer
I'm having a problem of being unable to call into an arbitrary function that is loaded into memory whose pointer address is known to me but was not linked into LLVM. I have added the function and called LLVMAddGlobalMapping with the pointer, and the program segfaults. I was wondering if it is a supported scenario that LLVM can generate a call into an arbitrary function that is not linked.
2015 Apr 01
2
[LLVMdev] unsupported GC: shadow-stack when using MCJIT
This is also happening when using the C++ APIs. It looks like an MCJIT and SetGC interaction. I'm lost on how to proceed further. On Tue, Mar 31, 2015 at 10:42 PM, Hayden Livingston <halivingston at gmail.com> wrote: > The erlang was a typo, I was trying things out. > > I've updated the bug with a C program, which exhibits the problem. > > To answer your question,
2015 Jul 01
2
[LLVMdev] Are global variables candiates for register allocation?
Thanks, Reid. I'm not an optimization expert, but as a workaround, can I do the following: void myFunction() { int local = global; .. use local ... } ? On Tue, Jun 30, 2015 at 6:53 PM, Reid Kleckner <rnk at google.com> wrote: > This came up in the past for GHC, and we recommended passing it as a > parameter everywhere, as it lets the register allocator spill it under high
2017 Oct 16
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Historically? I implemented support for exceptions back in LLVM 3.3, before LLVM had an implementation of a Windows unwinder. Currently? As recent as LLVM 4.0, I don't think the JIT was fully capable of handling COFF files, and LLVM wouldn't emit the correct sections (with the COFF-formatted unwind tables) when used in ELF mode. The prolog is known to be standard since Julia disables FPO
2015 Jul 17
3
[LLVMdev] [RFC] Developer Policy for LLVM C API
Can we also codify when something should be added to the C API? For a lot of folks the C API is the only usable interface. I am one of them. We are not as vocally represented because don't generally give back to the community, usually because we are just consumers of this library. (Or maybe I'm totally wrong and lots of us give back). For example, ORC APIs in C the bindings. On Fri, Jul
2012 Feb 03
5
[LLVMdev] Updating PHI for Instruction Domination?
So my best bet is to try and work in reg2mem mode and then go back to mem2reg? I'm curious, it seems though when you split a block that the phis get updated, right? On Thu, Feb 2, 2012 at 5:05 PM, Eric Christopher <echristo at apple.com> wrote: > Not that I'm aware of. > > -eric > > On Feb 2, 2012, at 3:47 PM, Ryan Taylor wrote: > > So essentially I'm
2011 Jan 25
2
[LLVMdev] Update PHINode after extracting code
Hi all, I have problem with ExtractCodeRegion (CodeExtractor.cpp). My original program is as follows. bb: ... %tmp.15 = load %struct.MYSQL_ROWS** %3, align 4 ... bb1: ... %tmp.1 = load %struct.MYSQL_ROWS** %6, align 4 ... bb4: ; preds = %bb1, %bb, %entry %tmp.0 = phi %struct.MYSQL_ROWS* [ null, %entry ], [ %tmp.15, %bb ], [ %tmp.1, %bb1 ]
2014 May 22
2
[LLVMdev] RFC: Indexing of structs vs arrays in getelementpointer
On May 22, 2014, at 3:51 PM, Chandler Carruth <chandlerc at google.com> wrote: > > On Thu, May 22, 2014 at 4:42 PM, Louis Gerbarg <lgg at apple.com> wrote: > The problem that the above transform is technically illegal because “When indexing into a (optionally packed) structure, only i32 integer constants are allowed (when using a vector of indices they must all be the same
2012 Feb 06
1
[LLVMdev] Fwd: Updating PHI for Instruction Domination?
---------- Forwarded message ---------- From: Ryan Taylor <ryta1203 at gmail.com> Date: Mon, Feb 6, 2012 at 10:36 AM Subject: Re: [LLVMdev] Updating PHI for Instruction Domination? To: Eric Christopher <echristo at apple.com> Since I'm not sure which instructions I might want to replicate, would it be possible to cast the Value from "PHINode::getIncomingValue" to
2015 Mar 14
2
[LLVMdev] Thoughts about ExecutionEngine/MCJIT interface
Another question: Lang, when do you think it'll be ok to move it to the C Bindings? On Fri, Mar 13, 2015 at 6:39 PM, Lang Hames <lhames at gmail.com> wrote: > Hi Pawel, > > I agree. ExecutionEngine, in its current form, is unhelpful. I'd be in > favor of cutting the common interface back to something like: > > class ExecutionEngine { > public: > virtual
2018 Mar 03
2
llvm pdb utility question - how to convert real address to a segmented one
I've just started using the llvm-pdbutil tool. Great job on the general tool. But I'm having trouble figuring out how the output of the dump tool relates to real addresses in memory or for that matter relative virtual address either. Here's the logic I tried (which doesn't work): (1) Get Instruction Pointer of interest (2) Subtract the base address of the dll that address
2013 Jul 30
2
[LLVMdev] Eliminating PHI with Identical Inputs
Dear All, Is there a pass (or set of passes) that will replace a phi whose input operands all compute the same value with an instruction that computes that value? In other words, something that will convert: define internal i32 @function(i32 %x) { ... bb1: %y = add %x, 10 ... bb2: %z = add %x, 10 ... bb3: %phi = [bb1, %y], [bb2, %z] into define internal i32 @function(i32 %x) { ... bb1: ...
2015 Mar 14
2
[LLVMdev] stability of llvm ir across releases
Is it safe to assume that LLVM IR will live more-or-less the same for most releases, and that significant changes will be communicated? Or is it something that can change at any time and you must not rely on it ever being same. To me, it seems like the IR has evolved slowly but no spectacularly large changes were made in the 1-1.5 years I've been watching it, -- sure some experimental patch
2011 Jan 27
0
[LLVMdev] Update PHINode after extracting code
I guess I didn't have a clear question. Suppose we have BB1 and BB2 both point to BB3. BB1 has variable x. BB2 also as variable x. BB3 will have PHINode for x with 2 value from BB1 and BB2. BB1 BB2 \ / BB3 Now if BB1 and BB2 is extracted into a function (using ExtractCodeRegion), they will be replaced by a basic block called codeRepl (which has a call to the extracted