[llvm-dev] DAGIR

Robinson, Paul via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 1 10:54:15 PDT 2016


If the linker were named something like Binary Linker for Active DEvelopers, or Extensible DaG Emitter ("blade" or "edge") to go along with "dagger" and "stabs" I'd be absolutely sure what was going on.
--paulr

From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Hal Finkel via llvm-dev
Sent: Friday, April 01, 2016 9:18 AM
To: Derek Schuff
Cc: llvm-dev
Subject: Re: [llvm-dev] DAGIR

Hi Derek,

I don't understand your message. Is this an announcement or a proposal? If it is an announcement, is the software available somewhere?

The SelectionDAG has various phases; on which phase are you basing your DAGIR? Is this pre-legalization, is it type legalized, operation legalized, etc? Our current SDAG-based isel is indeed expensive, but I'm not under the impression that the SDAGBuilder process is a large contributor. Rather, it is the rest of the legalization and selection process that is expensive. However, if you base your distribution IR on a post-legalization SDAG to avoid that expense, then I don't understand why that will be particularly portable.

As an optimizer IR, the SelectionDAG, being basic-block local, has unfortunate limitations, and the community is working on a replacement (GlobalISel). The basic set of operations probably won't change, but if you're closely tied to the current SDAG infrastructure, you'll need a migration plan.

 -Hal
________________________________
From: "Derek Schuff via llvm-dev" <llvm-dev at lists.llvm.org>
To: "llvm-dev" <llvm-dev at lists.llvm.org>
Sent: Friday, April 1, 2016 11:02:27 AM
Subject: [llvm-dev] DAGIR
Hello all,
The rich history of binary distribution formats based on LLVM [0][1][2][3][4] has proven LLVM's viability as a launchpad for stable platforms. However, issues with compilation time and compiler size have suggested that the translator must do too much, i.e. LLVM IR isn't a low-level enough virtual machine. So we introduce DAGIR ("dagger"), a new portable close to the metal format, designed to unlock the potential of any architecture for the digital world. DAGIR is a stable binary format derived from LLVM's SelectionDAG virtual machine, a proven platform for optimization and selection of machine architectures. Together with a new linker ("celestia") and the well-known STABS ("stabs") debugging format, this is a platform with a bright future and a host of possibilities for stable, portable software that will power a sea of nodes of the coming internet of virtual things. We look forward to working with the community in supporting this exciting new development in pervasive portable performance.

[0] http://developer.android.com/guide/topics/renderscript/compute.html
[1] https://developer.chrome.com/native-client/nacl-and-pnacl
[2] https://www.khronos.org/spir
[3] http://www.hsafoundation.com/hsa-developer-tools/
[4] https://developer.apple.com/library/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html#//apple_ref/doc/uid/TP40012582-CH35-SW2



_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160401/c0543a0b/attachment.html>


More information about the llvm-dev mailing list