- Feb 03, 2013
-
-
Michael Gottesman authored
GlobalVariable about LLVM's assumptions vis-a-vis Global Variable initial values and Global Variable initializers. This is in preparation for adding the new keyword externally_initialized. Specifically, the patch explains how LLVM optimizes global initializers by assumign that global variables defined within the module are not modified from their initial values before the start of the global initializer. llvm-svn: 174269
-
- Feb 01, 2013
-
-
Sean Silva authored
My "excuse" for not refactoring the grammar here is to not diverge too far from the grammar in the comments of TGParser.cpp, since I'm not taking on the quest of majorly refactoring TGParser.cpp at the moment. One benefit of doing this is that Ideas for refactoring and clarifying the grammar in this document should translate almost immediately to beneficial refactorings that can be made to TGParser.cpp. llvm-svn: 174144
-
Sean Silva authored
Spotted by Eli Bendersky. llvm-svn: 174143
-
- Jan 31, 2013
-
-
Tim Northover authored
This patch adds support for AArch64 (ARM's 64-bit architecture) to LLVM in the "experimental" category. Currently, it won't be built unless requested explicitly. This initial commit should have support for: + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions (except the late addition CRC instructions). + CodeGen features required for C++03 and C99. + Compilation for the "small" memory model: code+static data < 4GB. + Absolute and position-independent code. + GNU-style (i.e. "__thread") TLS. + Debugging information. The principal omission, currently, is performance tuning. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174054
-
Michael Gottesman authored
Fixed a mistake in my previous commit where I changed the wording slightly and forgot to undo the change after changing my mind and deciding to only commit the style changes. llvm-svn: 174041
-
Michael Gottesman authored
section Global Variable so that the style matches the other keywords in said section. llvm-svn: 174040
-
Andrew Trick authored
llvm-svn: 174007
-
- Jan 30, 2013
-
-
Andrew Trick authored
prevent an llvm developer from mistakenly thinking that just because the intrinsic has volatile flags that volatile operations can be converted to or folded into them. Platforms may rely on volatile loads and stores of natively supported data width to be executed as single instruction. When compiling C, this expectation likely holds for l-values of volatile primitive types with native hardware support, but not necessarily for aggregate types. The frontend upholds these expectations, which are not specified in the IR. llvm-svn: 173974
-
Eli Bendersky authored
llvm-svn: 173971
-
Sean Silva authored
Boilerplate is often the hardest part of getting started with these kinds of things, so throw them a bone. llvm-svn: 173969
-
Patrik Hagglund authored
correspond to the code. Patch by Stephen McGruer. llvm-svn: 173914
-
Dmitri Gribenko authored
llvm-svn: 173845
-
- Jan 28, 2013
-
-
Sean Silva authored
llvm-svn: 173718
-
- Jan 26, 2013
-
-
Dmitri Gribenko authored
Patch by David Waggoner llvm-svn: 173571
-
- Jan 25, 2013
-
-
Michael Gottesman authored
llvm-svn: 173478
-
Michael Gottesman authored
custom git script called git-svnup which handles all of the work of using the git-mirrors/keeping the git-svn numbers in sync. llvm-svn: 173472
-
Hal Finkel authored
This adds an !add(a, b) operator to tablegen; this will be used to cleanup the PPC register definitions. llvm-svn: 173445
-
- Jan 23, 2013
-
-
Eli Bendersky authored
llvm-svn: 173298
-
Bill Wendling authored
The requirements of the strong heuristic are: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) llvm-svn: 173231
-
Bill Wendling authored
SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. llvm-svn: 173230
-
Sean Silva authored
llvm-svn: 173224
-
- Jan 22, 2013
-
-
Joel Jones authored
llvm-svn: 173103
-
- Jan 21, 2013
-
-
Michael Ilseman authored
llvm-svn: 173092
-
- Jan 20, 2013
-
-
Michael J. Spencer authored
llvm-svn: 172970
-
Nadav Rotem authored
llvm-svn: 172966
-
Nadav Rotem authored
llvm-svn: 172965
-
Sean Silva authored
llvm-svn: 172955
-
Sean Silva authored
This change also removes a bunch of boilerplate and stuffing which made it unnecessarily hard to navigate and see the comparatively miniscule actual content that was added to this document during the 3.2 development period (or maybe even sticking around from earlier releases...). The new organization (a flat list) optimizes for making it easy for people who know about changes to add them to the document. It's completely trivial for anyone with basic knowledge of LLVM to come in later (such as when preparing for the actual release) and cluster any changes into logical groups. However, I have left some comments indicating how to add larger descriptions, if someone is feeling adventurous ;) Hopefully this organization will highlight how little effort is being put into producing accurate, high-quality release notes, prompting a corresponding improvement for the 3.3 release. I have preserved the changes to this document that are not present in the 3.2 release notes. There were only two... I'm pretty sure we've been busier than that... (version control shows +213347/-173656 raw lines just in the LLVM repo since the 3.2 release). llvm-svn: 172954
-
Sean Silva authored
These are really definition lists. llvm-svn: 172950
-
Sean Silva authored
This brings back {Ctrl,Cmd}-f'ability, and makes some really bad organizational choices easier to see (and therefore fix). llvm-svn: 172949
-
- Jan 19, 2013
-
-
Dmitri Gribenko authored
Followup for r172836 llvm-svn: 172918
-
Dmitri Gribenko authored
llvm-svn: 172917
-
- Jan 18, 2013
-
-
Daniel Dunbar authored
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer. llvm-svn: 172837
-
Dmitri Gribenko authored
We don't have DejaGNU tests now. llvm-svn: 172836
-
Eli Bendersky authored
grep is now only mentioned once in a sentence that explicitly says it's deprecated. For FileCheck, there's no reason to repeat part of the documentation that exists in CommandGuide/FileCheck. llvm-svn: 172835
-
- Jan 17, 2013
-
-
Daniel Dunbar authored
- This code is dead, and the "right" way to get this support is to use the platform-specific linker-integrated LTO mechanisms, or the forthcoming LLVM linker. llvm-svn: 172749
-
Daniel Dunbar authored
llvm-svn: 172741
-
Daniel Dunbar authored
llvm-svn: 172681
-
Lang Hames authored
ambiguous term 'legal'. Suggested by Andrew Booker. Thanks Andrew! llvm-svn: 172680
-
Dmitri Gribenko authored
Reported on IRC by _savage llvm-svn: 172677
-