![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||
|
Is there any way to capitalize the LVM in Llvm in the title?
Low level virtual machine -> Low Level Virtual Machine ?
I noticed that reference to libJIT is always deleted. It has many of similar goals to LLVM. Why is it deleted?
See also "libJIT vs LLVM discussion" Rhys Weatherley (libJIT) and Chris Lattner (LLVM)
Should this article discuss things Chris Lattner is doing with LLVM at Apple?
I've removed the claim that a program with no "cast" instructions is type safe. Type safety requires more than just lack of type coercion (particularly, we must check that array bounds are not exceeded and that no pointers to an object are used after the end of that object's lifetime); also the point is academic anyway as it is nearly impossible to write a non-trivial program that doesn't use the 'cast' instruction. (Possible reference if we want to put something about type safety back in) JulesH 14:37, 10 September 2006 (UTC)
(And, yes, in case you're wondering, I am the Jules who posted the question that was a reply to). JulesH 14:38, 10 September 2006 (UTC)
You may be interested in the safecode project, which aims to add type safety to LLVM: safecode
The shown initial release date seems wrong. This mail is the initial announcement and it dates to 2003. Maybe the idea was conceived in 2000 :-) The oldest news date back to 2002. 135.245.72.35 ( talk) 18:55, 10 June 2008 (UTC)
Objective-C "was somewhat moribund" in gcc? If it was moribund, how come it is still alive in gcc? If it still is moribund, just remember that Wikipedia is not a crystal ball – it is not proper to make prophetic "predictions" about future in Wikipedia. What does the stmt "somewhat moribund" mean? That the compiler is a little dead/stagnant but it is not easy to realize it? If it is not easy to realize it, why does the subjective statement "moribund" apply? Rursus dixit. ( mbork3!) 19:55, 25 January 2010 (UTC)
In addition to a frontends section, this article needs a backends section. One very interesting backend is the emscripten backend that compiles LLVM IR bitcode to Javascript: http://code.google.com/p/emscripten/ —Preceding unsigned comment added by 66.30.115.7 ( talk) 06:11, 16 February 2011 (UTC)
I think Emscripten and a few other language backends (eg LLVM "C Backend", WebAssembly (I think)) should be mentioned to show that LLVM can be used as a Source-to-source compiler. Damian Pound ( talk) 20:30, 25 May 2016 (UTC)
The German LLVM article has a section on KLEE: http://de.wikipedia.org/wiki/Low_Level_Virtual_Machine#KLEE. Should the English version? The English entry for KLEE is for a radio station, without even a disambiguator.
— FlashSheridan ( talk) 14:54, 2 August 2011 (UTC)
LLVM is no longer an initialism (not acronym) of Low Level Virtual Machine. If you check the official website at llvm.org, there are no references to "Low Level Virtual Machine". On the LLVM mailing list, it was confirmed by an LLVM developer that the "Low Level Virtual Machine" name is gone ( [1] and [2]). So the page should be renamed to LLVM (removing the redirect that is currently there), and Low Level Virtual Machine should only be a redirect to LLVM. DirtY iCE ( talk) 22:54, 22 December 2011 (UTC)
Is the output converted into machine-dependent assembly code for a target platform or machine-dependent object code for a target platform DGerman ( talk) 22:50, 31 December 2012 (UTC)
This article should probably mention that LLVM is the recipient of the 2012 ACM Software System Award. Tweisbach ( talk) 04:30, 26 April 2013 (UTC)
In the paragraph entitled "Description" you write "each variable (called a typed register) is assigned once and is frozen." Do you mean that the type of the variable is frozen or its value?
If the value is frozen, then this is not a "variable" but a "constant" and this is a noticeable difference with imperative programming languages and should be explicited. This would be a similarity with functional languages, in which the only variables are the arguments of functions.
Didier-Kryn ( talk) 14:46, 24 January 2014 (UTC)
This article is way too technical. At the very least the opening paragraph should have a simple description of what the software actually does or allows people to accomplish. It's just a mess of technical terms right now. Awarenode ( talk) 20:12, 5 June 2015 (UTC)
This article needs a section like GNU_Compiler_Collection#Architectures.
etc. User:ScotXW t@lk 19:41, 15 January 2016 (UTC)
From the article:
LLVM supports a language-independent instruction set and type system. Each instruction is in static single assignment form (SSA), meaning that each variable (called a typed register) is assigned once and is frozen.
In a recursive, functional programming language, this might actually be true (Erlang BEAM SSA is described exactly this way) but LLVM supports graphs with back-links that actually loop.
From Static Single Assignment Book (June 2015 copy, apparently in beta):
Much better! That's not actually insane. Or am I missing something obvious here? — MaxEnt 20:00, 21 March 2016 (UTC)
I am no expert on LLVM (yet), but the snippet appears to use an outdated syntax, in particular `getelementptr` no longer (llvm 3.8+) accepts the `getelementptr [14 x i8]* @str...` form -- language reference page at http://llvm.org/docs/LangRef.html#metadata says:
<result> = getelementptr <ty>, <ty>* <ptrval>{, <ty> <idx>}* <result> = getelementptr inbounds <ty>, <ty>* <ptrval>{, <ty> <idx>}* <result> = getelementptr <ty>, <ptr vector> <ptrval>, <vector index type> <idx>
Am I onto anything here? :) — Preceding unsigned comment added by Transientdifficulties ( talk • contribs) 20:19, 16 August 2016 (UTC)
Snippet has been fixed 75.148.200.130 ( talk) 18:29, 16 August 2017 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on LLVM. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 20:15, 9 May 2017 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on LLVM. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 13:41, 14 December 2017 (UTC)
LLVM may no longer be considered a proper "i itialism", as a newbe to the term my first question was what the letters me. An encyclopedia is not (solely) for experts, isn't it? It is rather for unknowing people looking for kniwledge. So my suggestion is to put the explanation of the acronym LLVM upfront, imnediately followed by the comment that present-day LLVM encompasses (much?) more than what the four letters mean. Rbakels ( talk) 20:32, 28 December 2017 (UTC) Rbakels ( talk) 20:32, 28 December 2017 (UTC)
The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
The present article's section LLVM § History contains just one paragraph, identical in every respect to the third-last paragraph of the article's lead section. Further, the remaining two paras of the lead also give a level of historical detail not usually seen in the lead.
I suggest that somebody – not me, I know too little of the subject!:
yoyo ( talk) 10:53, 4 March 2018 (UTC)
It seems license its license has been updated to Apache 2.0 license after this commit.—— Wizard leave a comment 14:22, 1 February 2019 (UTC)
Is there a reason why the Intel SPMD Program Compiler (ispc)
is not named in the article?
https://llvm.org/pubs/2012-05-13-InPar-ispc.html
https://ispc.github.io/
--
Moritzgedig (
talk)
08:34, 19 September 2019 (UTC)
The LLVM Releases download page states that 8.0.1 was released on "19 July 2019", but the LLVM 8.0.1 release was announced on August 1, 2019. The article currently cites the latter. Xanderlent ( talk) 19:54, 19 September 2019 (UTC)
The following Wikimedia Commons file used on this page or its Wikidata item has been nominated for deletion:
Participate in the deletion discussion at the nomination page. — Community Tech bot ( talk) 21:53, 31 July 2021 (UTC)
The lead section mentions "idle-time optimization" without a link to a definition, nor can I find an explanation of this elsewhere in the article. If this is a feature of LLVM it needs to be covered in the article and explained. Otherwise, possibly the term does not belong here and should just be removed from the lead section.
(In general I think the lead should not boast anything specific that is not backed up by information in the body text of the article.)
(Anders Hallström) 83.227.125.79 ( talk) 12:19, 25 November 2022 (UTC)
According to the official project page [3]:
LLILC Is Now Archived
LLILC was an experimental project to build a .NET compatible JIT from LLVM. It is no longer under active development.
Should we remove C# from the list of languages that use LLVM? Yitzhaks ( talk) 13:17, 13 February 2023 (UTC)
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||
|
Is there any way to capitalize the LVM in Llvm in the title?
Low level virtual machine -> Low Level Virtual Machine ?
I noticed that reference to libJIT is always deleted. It has many of similar goals to LLVM. Why is it deleted?
See also "libJIT vs LLVM discussion" Rhys Weatherley (libJIT) and Chris Lattner (LLVM)
Should this article discuss things Chris Lattner is doing with LLVM at Apple?
I've removed the claim that a program with no "cast" instructions is type safe. Type safety requires more than just lack of type coercion (particularly, we must check that array bounds are not exceeded and that no pointers to an object are used after the end of that object's lifetime); also the point is academic anyway as it is nearly impossible to write a non-trivial program that doesn't use the 'cast' instruction. (Possible reference if we want to put something about type safety back in) JulesH 14:37, 10 September 2006 (UTC)
(And, yes, in case you're wondering, I am the Jules who posted the question that was a reply to). JulesH 14:38, 10 September 2006 (UTC)
You may be interested in the safecode project, which aims to add type safety to LLVM: safecode
The shown initial release date seems wrong. This mail is the initial announcement and it dates to 2003. Maybe the idea was conceived in 2000 :-) The oldest news date back to 2002. 135.245.72.35 ( talk) 18:55, 10 June 2008 (UTC)
Objective-C "was somewhat moribund" in gcc? If it was moribund, how come it is still alive in gcc? If it still is moribund, just remember that Wikipedia is not a crystal ball – it is not proper to make prophetic "predictions" about future in Wikipedia. What does the stmt "somewhat moribund" mean? That the compiler is a little dead/stagnant but it is not easy to realize it? If it is not easy to realize it, why does the subjective statement "moribund" apply? Rursus dixit. ( mbork3!) 19:55, 25 January 2010 (UTC)
In addition to a frontends section, this article needs a backends section. One very interesting backend is the emscripten backend that compiles LLVM IR bitcode to Javascript: http://code.google.com/p/emscripten/ —Preceding unsigned comment added by 66.30.115.7 ( talk) 06:11, 16 February 2011 (UTC)
I think Emscripten and a few other language backends (eg LLVM "C Backend", WebAssembly (I think)) should be mentioned to show that LLVM can be used as a Source-to-source compiler. Damian Pound ( talk) 20:30, 25 May 2016 (UTC)
The German LLVM article has a section on KLEE: http://de.wikipedia.org/wiki/Low_Level_Virtual_Machine#KLEE. Should the English version? The English entry for KLEE is for a radio station, without even a disambiguator.
— FlashSheridan ( talk) 14:54, 2 August 2011 (UTC)
LLVM is no longer an initialism (not acronym) of Low Level Virtual Machine. If you check the official website at llvm.org, there are no references to "Low Level Virtual Machine". On the LLVM mailing list, it was confirmed by an LLVM developer that the "Low Level Virtual Machine" name is gone ( [1] and [2]). So the page should be renamed to LLVM (removing the redirect that is currently there), and Low Level Virtual Machine should only be a redirect to LLVM. DirtY iCE ( talk) 22:54, 22 December 2011 (UTC)
Is the output converted into machine-dependent assembly code for a target platform or machine-dependent object code for a target platform DGerman ( talk) 22:50, 31 December 2012 (UTC)
This article should probably mention that LLVM is the recipient of the 2012 ACM Software System Award. Tweisbach ( talk) 04:30, 26 April 2013 (UTC)
In the paragraph entitled "Description" you write "each variable (called a typed register) is assigned once and is frozen." Do you mean that the type of the variable is frozen or its value?
If the value is frozen, then this is not a "variable" but a "constant" and this is a noticeable difference with imperative programming languages and should be explicited. This would be a similarity with functional languages, in which the only variables are the arguments of functions.
Didier-Kryn ( talk) 14:46, 24 January 2014 (UTC)
This article is way too technical. At the very least the opening paragraph should have a simple description of what the software actually does or allows people to accomplish. It's just a mess of technical terms right now. Awarenode ( talk) 20:12, 5 June 2015 (UTC)
This article needs a section like GNU_Compiler_Collection#Architectures.
etc. User:ScotXW t@lk 19:41, 15 January 2016 (UTC)
From the article:
LLVM supports a language-independent instruction set and type system. Each instruction is in static single assignment form (SSA), meaning that each variable (called a typed register) is assigned once and is frozen.
In a recursive, functional programming language, this might actually be true (Erlang BEAM SSA is described exactly this way) but LLVM supports graphs with back-links that actually loop.
From Static Single Assignment Book (June 2015 copy, apparently in beta):
Much better! That's not actually insane. Or am I missing something obvious here? — MaxEnt 20:00, 21 March 2016 (UTC)
I am no expert on LLVM (yet), but the snippet appears to use an outdated syntax, in particular `getelementptr` no longer (llvm 3.8+) accepts the `getelementptr [14 x i8]* @str...` form -- language reference page at http://llvm.org/docs/LangRef.html#metadata says:
<result> = getelementptr <ty>, <ty>* <ptrval>{, <ty> <idx>}* <result> = getelementptr inbounds <ty>, <ty>* <ptrval>{, <ty> <idx>}* <result> = getelementptr <ty>, <ptr vector> <ptrval>, <vector index type> <idx>
Am I onto anything here? :) — Preceding unsigned comment added by Transientdifficulties ( talk • contribs) 20:19, 16 August 2016 (UTC)
Snippet has been fixed 75.148.200.130 ( talk) 18:29, 16 August 2017 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on LLVM. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 20:15, 9 May 2017 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on LLVM. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 13:41, 14 December 2017 (UTC)
LLVM may no longer be considered a proper "i itialism", as a newbe to the term my first question was what the letters me. An encyclopedia is not (solely) for experts, isn't it? It is rather for unknowing people looking for kniwledge. So my suggestion is to put the explanation of the acronym LLVM upfront, imnediately followed by the comment that present-day LLVM encompasses (much?) more than what the four letters mean. Rbakels ( talk) 20:32, 28 December 2017 (UTC) Rbakels ( talk) 20:32, 28 December 2017 (UTC)
The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
The present article's section LLVM § History contains just one paragraph, identical in every respect to the third-last paragraph of the article's lead section. Further, the remaining two paras of the lead also give a level of historical detail not usually seen in the lead.
I suggest that somebody – not me, I know too little of the subject!:
yoyo ( talk) 10:53, 4 March 2018 (UTC)
It seems license its license has been updated to Apache 2.0 license after this commit.—— Wizard leave a comment 14:22, 1 February 2019 (UTC)
Is there a reason why the Intel SPMD Program Compiler (ispc)
is not named in the article?
https://llvm.org/pubs/2012-05-13-InPar-ispc.html
https://ispc.github.io/
--
Moritzgedig (
talk)
08:34, 19 September 2019 (UTC)
The LLVM Releases download page states that 8.0.1 was released on "19 July 2019", but the LLVM 8.0.1 release was announced on August 1, 2019. The article currently cites the latter. Xanderlent ( talk) 19:54, 19 September 2019 (UTC)
The following Wikimedia Commons file used on this page or its Wikidata item has been nominated for deletion:
Participate in the deletion discussion at the nomination page. — Community Tech bot ( talk) 21:53, 31 July 2021 (UTC)
The lead section mentions "idle-time optimization" without a link to a definition, nor can I find an explanation of this elsewhere in the article. If this is a feature of LLVM it needs to be covered in the article and explained. Otherwise, possibly the term does not belong here and should just be removed from the lead section.
(In general I think the lead should not boast anything specific that is not backed up by information in the body text of the article.)
(Anders Hallström) 83.227.125.79 ( talk) 12:19, 25 November 2022 (UTC)
According to the official project page [3]:
LLILC Is Now Archived
LLILC was an experimental project to build a .NET compatible JIT from LLVM. It is no longer under active development.
Should we remove C# from the list of languages that use LLVM? Yitzhaks ( talk) 13:17, 13 February 2023 (UTC)