[llvm-dev] DAGIR

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 1 09:18:09 PDT 2016


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 

----- Original Message -----

> 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/34267469/attachment-0001.html>


More information about the llvm-dev mailing list