Commit Graph

5234 Commits

Author SHA1 Message Date
Vincent Lejeune 92b0a64906 Add a RequireStructuredCFG Field to TargetMachine.
llvm-svn: 196634
2013-12-07 01:49:19 +00:00
Yunzhong Gao f5b769e4f2 Document that dllexported symbols are preserved by optimization passes.
llvm-svn: 196523
2013-12-05 18:37:54 +00:00
Alp Toker f907b891da Correct word hyphenations
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities and contractions in nearby lines.

llvm-svn: 196471
2013-12-05 05:44:44 +00:00
Sean Silva e6c6d56cab [LangRef] Remove (non-normative) paragraph that doesn't make sense.
It appears to be referring to nonexistent entities. This must be a
carry-over from an older version of the document.

Patch by Mikael Lyngvig!

llvm-svn: 196342
2013-12-04 02:19:25 +00:00
Alp Toker 6720f9d7d0 Update the LTO GoldPlugin documentation
* Update build instructions to reflect the current source tree layout.
 * Don't inflict CVS on readers; there's a perfectly good git mirror.
 * configure with --disable-werror making it possible to build using clang.
 * ar and nm-new now support the -plugin option.

llvm-svn: 196069
2013-12-02 07:15:33 +00:00
Sean Silva 6cda6dc6cf [docs] Mention gotcha regarding implicit BB numbering
Impetus for the clarification by Mikael Lyngvig.

llvm-svn: 195812
2013-11-27 04:55:23 +00:00
Arnaud A. de Grandmaison b697b538dc CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)
In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it.

This mimics the autoconf behaviour.

However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities.

llvm-svn: 195727
2013-11-26 10:33:53 +00:00
Benjamin Kramer c680226fbf Remove dangling documentation. llvm-prof was deleted a while ago.
llvm-svn: 195372
2013-11-21 19:32:37 +00:00
Nick Kledzik 7cd45f29b2 YAML I/O add support for validate()
MappingTrait template specializations can now have a validate() method which 
performs semantic checking. For details, see <http://llvm.org/docs/YamlIO.html>.

llvm-svn: 195286
2013-11-21 00:28:07 +00:00
Bill Wendling 70d39e6fa3 Update to reflect the next release.
llvm-svn: 195235
2013-11-20 10:10:50 +00:00
Rafael Espindola 60ec3836a2 Support multiple COFF sections with the same name but different COMDAT.
This is the first step to fix pr17918.

It extends the .section directive a bit, inspired by what the ELF one looks
like. The problem with using linkonce is that given

.section foo
.linkonce....

.section foo
.linkonce

we would already have switched sections when getting to .linkonce. The cleanest
solution seems to be to add the comdat information in the .section itself.

llvm-svn: 195148
2013-11-19 19:52:52 +00:00
John Thompson 48e018a314 YAML I/O - Added default trait support for std:string. Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
llvm-svn: 195134
2013-11-19 17:28:21 +00:00
Ahmed Bougacha efb0d6bf1a Docs: tweak code-block spacing.
llvm-svn: 195049
2013-11-18 22:26:59 +00:00
Paul Robinson dcbe35bad5 The 'optnone' attribute means don't inline anything into this function
(except functions marked always_inline).
Functions with 'optnone' must also have 'noinline' so they don't get
inlined into any other function.

Based on work by Andrea Di Biagio.

llvm-svn: 195046
2013-11-18 21:44:03 +00:00
Daniel Sanders 151f06d80d [mips][msa] Add MSA to the release notes.
llvm-svn: 195001
2013-11-18 10:38:47 +00:00
Ahmed Bougacha 31377593bc TableGen: Generate an enum for all named Operand types in tblgen'd InstrInfo.
llvm-svn: 194978
2013-11-17 21:24:41 +00:00
Ahmed Bougacha 7d705a8c92 Docs: Clearly separate Operand-related paragraphs.
llvm-svn: 194977
2013-11-17 21:24:37 +00:00
Ahmed Bougacha d24faecc25 Docs: Fix typo: NoIntinerary -> NoItinerary.
llvm-svn: 194976
2013-11-17 21:24:34 +00:00
Matt Arsenault b83422612a Mention address space related changes in release notes.
llvm-svn: 194904
2013-11-16 00:36:46 +00:00
Matt Arsenault 9c13dd027b Fix typos.
I somehow didn't notice before that the examples
for addrspacecast use the wrong syntax for addrspace.

llvm-svn: 194868
2013-11-15 22:43:50 +00:00
Justin Holewinski f4919c545d [NVPTX] Fix type in usage doc
llvm-svn: 194821
2013-11-15 16:08:49 +00:00
Justin Holewinski fb9bd75370 [NVPTX] Update the usage document
llvm-svn: 194812
2013-11-15 13:02:10 +00:00
Renato Golin 8e3c8584e9 Adding some info about stability of ARM boards
Patch by Mikael Lyngvig

llvm-svn: 194794
2013-11-15 08:42:14 +00:00
Matt Arsenault 54a2a179a1 Fix grammar in addrspacecast description
llvm-svn: 194785
2013-11-15 05:44:56 +00:00
Matt Arsenault b03bd4d96b Add addrspacecast instruction.
Patch by Michele Scandale!

llvm-svn: 194760
2013-11-15 01:34:59 +00:00
Paul Robinson 687915ffff Typos. (Test commit.)
llvm-svn: 194720
2013-11-14 18:47:23 +00:00
Kai Nacke ec6e392975 Add external project LDC to release notes.
LDC, the LLVM-based D compiler, is already using LLVM 3.4.

llvm-svn: 194665
2013-11-14 05:57:40 +00:00
Nick Kledzik 1e6033ca33 Add simple support for tags in YAML I/O
llvm-svn: 194644
2013-11-14 00:59:59 +00:00
Hans Wennborg 4656ec1e70 Revert my CMake patches concerning building with /MT (r194589, r194596)
Reid pointed out we already have LLVM_USE_CRT_{buildtype} to set it.

llvm-svn: 194604
2013-11-13 20:29:10 +00:00
Hans Wennborg fc59812bee CMake: make building with /MT an option instead of always forcing it
for release builds.

This is a follow-up to r194589. Aaron pointed out that building
libraries with /MT and using them in an application that uses a
different run-time library can be a bad idea.

Move the option to build with /MT behind a CMake option so it can be
turned on selectively, such as when building the toolchain installer.

llvm-svn: 194596
2013-11-13 19:12:02 +00:00
Matt Arsenault 72c83a867c Add new FileCheck feature to 3.4 release notes
llvm-svn: 194456
2013-11-12 08:05:30 +00:00
Sylvestre Ledru def97f4f26 Update of the 'Code Review' page. The link is now called 'Create Diff' instead of 'Create Revision'
llvm-svn: 194378
2013-11-11 14:27:56 +00:00
Matt Arsenault 13df462691 Allow multiple check prefixes in FileCheck.
This is useful if you want to run multiple variations
of a single test, and the majority of check lines
should be the same.

llvm-svn: 194343
2013-11-10 02:04:09 +00:00
Chandler Carruth c089d826d9 Add the fact that we anticipate switching to use (some subset of) C++11
after the 3.4 release to the release notes. See the *lengthy* llvmdev
and cfe-dev threads on this subject. There will be more emails,
discussion and announcements, but I want to make noise in as many places
as I can to get everyone's concerns voiced and understood.

llvm-svn: 194183
2013-11-07 00:23:08 +00:00
Peter Zotov c2a9fe7a77 [OCaml] (PR10016) Add a few missing line in OCamlLangImpl2.rst
Original patch by Damien Schoof

llvm-svn: 194067
2013-11-05 12:14:04 +00:00
Sean Silva 75c718521d [docs] Add link to 32-bit ARM ELF supplement.
llvm-svn: 194011
2013-11-04 19:43:36 +00:00
Rafael Espindola 716e7405d3 Remove linkonce_odr_auto_hide.
linkonce_odr_auto_hide was in incomplete attempt to implement a way
for the linker to hide symbols that are known to be available in every
TU and whose addresses are not relevant for a particular DSO.

It was redundant in that it all its uses are equivalent to
linkonce_odr+unnamed_addr. Unlike those, it has never been connected
to clang or llvm's optimizers, so it was effectively dead.

Given that nothing produces it, this patch just nukes it
(other than the llvm-c enum value).

llvm-svn: 193865
2013-11-01 17:09:14 +00:00
Andrew Trick d4d1d9c06e whitespace
llvm-svn: 193765
2013-10-31 17:18:07 +00:00
Benjamin Kramer 0463e83b1b fix RST reference in Writing an LLVM Pass
Currently, instead of showing up as link, it is rendered as

  ...of FunctionPass <writing-an-llvm-pass-FunctionPass>. The...

PR17733. Patch by Tay Ray Chuan!

llvm-svn: 193698
2013-10-30 17:09:32 +00:00
Benjamin Kramer 3b32b2ff10 Fix common typos in the docs.
llvm-svn: 193632
2013-10-29 17:53:27 +00:00
Rafael Espindola 5d1b745689 Clarify that GlobalVariables definitions must have an initializer.
llvm-svn: 193609
2013-10-29 13:44:11 +00:00
Bill Wendling 4965e900d9 Remove stray '_'.
llvm-svn: 193543
2013-10-28 21:43:54 +00:00
Bill Wendling c14b8043bb Use the correct reference. Spotted by Sean Silva.
llvm-svn: 193542
2013-10-28 21:43:11 +00:00
Bill Wendling 6822ecb087 A small grammar-os fixed.
llvm-svn: 193496
2013-10-27 05:09:12 +00:00
Bill Wendling e814a37a72 Update to current output.
PR14039

llvm-svn: 193494
2013-10-27 04:50:34 +00:00
Bill Wendling 29c7f168cb Fix Sphinx warning.
llvm-svn: 193493
2013-10-27 04:25:02 +00:00
Bill Wendling e9d5c4809d Update to specify that both metadata and label types aren't proper return types.
PR15447

llvm-svn: 193492
2013-10-27 04:19:29 +00:00
Bill Wendling 27f96dae10 Update the Python version. And Perl isn't used anymore.
PR17608

llvm-svn: 193491
2013-10-27 04:02:21 +00:00
Bill Wendling 7bf172cd45 Update link.
PR17608

llvm-svn: 193490
2013-10-27 03:57:10 +00:00
Shuxin Yang 2e1890e18b Revert r193251 : Use address-taken to disambiguate global variable and indirect memops.
llvm-svn: 193489
2013-10-27 03:08:44 +00:00
John Thompson 6cd5bd4a3d Reverting my r193344 checkin due to build breakage.
llvm-svn: 193350
2013-10-24 14:52:56 +00:00
John Thompson e38e57206f Added std::string as a built-in type for mapping.
llvm-svn: 193344
2013-10-24 13:36:58 +00:00
Shuxin Yang e4fb375995 Use address-taken to disambiguate global variable and indirect memops.
Major steps include:
 1). introduces a not-addr-taken bit-field in GlobalVariable
 2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable 
    dosen't have its address taken.
 3). AA use this info for disambiguation. 

llvm-svn: 193251
2013-10-23 17:28:19 +00:00
Bill Wendling 5cc9084dd7 Write a simple description of the 'target triple' directive. This should be expanded. PR8976.
llvm-svn: 193014
2013-10-18 23:41:25 +00:00
Bill Wendling 61163151f7 Clarify that an alignment of 0 or 1 on a mem* intrinsic means 'no alignment'.
llvm-svn: 193012
2013-10-18 23:26:55 +00:00
Bill Wendling 0b55b4a208 Remove reference to obsolete arguments.
llvm-svn: 193009
2013-10-18 23:11:25 +00:00
Bill Wendling 547a7afd32 Update to reflect current GC APIs and usage. The example code is taken from the Erlang GC implementation.
llvm-svn: 193008
2013-10-18 23:09:06 +00:00
Alp Toker 4655259769 Developer policy amendment regarding confidentiality notices
Thanks to Daniel Berlin and Nadav Rotem for feedback and rewording!

Discussion:
  http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20131014/191677.html

Reviewed by: nrotem, dberlin

llvm-svn: 192958
2013-10-18 08:45:43 +00:00
Rafael Espindola fd69f369a6 Remove an outdated statement.
Aliases now have their own section where we document which linkages they can
have.

llvm-svn: 192825
2013-10-16 18:37:51 +00:00
Rafael Espindola b665d79f14 Add more documentation about the TargetStreamer interface.
llvm-svn: 192796
2013-10-16 14:54:39 +00:00
David Majnemer 5f16063dcd docs: Remove incompatibility with Solaris shell
There doesn't seem to be a need in checking if a directory exists if we
will just rm -rf it once we affirm that it does.  Instead, just blindly
try to delete it.

This fixes PR17541.

llvm-svn: 192679
2013-10-15 08:30:07 +00:00
Renato Golin 58ab84a830 Add warning about CHECK-DAG with variable definition
llvm-svn: 192479
2013-10-11 18:50:22 +00:00
Bill Wendling a40c5263ed Add missing releases.
llvm-svn: 192304
2013-10-09 17:37:04 +00:00
Rafael Espindola 974efd3208 Add a paragraph about MCTargetStreamer.
llvm-svn: 192265
2013-10-09 02:05:08 +00:00
Rafael Espindola 65785497bf Fix typo.
Thanks to Sean Silva for noticing it.

llvm-svn: 192102
2013-10-07 13:57:59 +00:00
Rafael Espindola 78527050c2 Add support for aliases with linkonce_odr.
This will be used to extend constructor aliases in clang.

llvm-svn: 192066
2013-10-06 15:10:43 +00:00
Sylvestre Ledru a9853efb78 Fix a typo in the documentation. Thanks to Diana Vasile for the patch
llvm-svn: 191752
2013-10-01 13:17:09 +00:00
Daniel Sanders cc0a056b3d [mips] Fix a broken link to mips.com in the documentation.
It now points to the equivalent page on imgtec.com

llvm-svn: 191658
2013-09-30 09:35:37 +00:00
Renato Golin 9e3c678040 Clarifying doc about cross-compiling
llvm-svn: 191561
2013-09-27 21:14:54 +00:00
Renato Golin 22a2d963b9 Add links to cross-compilation docs from getting started
llvm-svn: 191425
2013-09-26 08:57:07 +00:00
Peter Collingbourne 213358aeaa Add a paragraph on prefix data layout.
llvm-svn: 191219
2013-09-23 20:14:21 +00:00
Rafael Espindola 6f5b0e3727 Remove remaining references to -O4.
Thanks to Hal Finkel for noticing it.

llvm-svn: 191216
2013-09-23 19:50:59 +00:00
Peter Collingbourne 3fa50f9b05 Implement function prefix data as an IR feature.
Previous discussion:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html

Differential Revision: http://llvm-reviews.chandlerc.com/D1191

llvm-svn: 190773
2013-09-16 01:08:15 +00:00
Nuno Lopes c38b2dabb0 typo fix: use BUILD_ARCHIVE to build .a libs and not ARCHIVE_LIBRARY
llvm-svn: 190696
2013-09-13 15:01:54 +00:00
Rui Ueyama 539b1df7c3 Typo fixes.
llvm-svn: 190569
2013-09-12 01:43:21 +00:00
Nick Lewycky 04f6de0fd7 Fix anachronism/typo in syntax of declaration of llvm.va_start.
llvm-svn: 190552
2013-09-11 22:04:52 +00:00
Rui Ueyama 0ad114c446 Fix typo
llvm-svn: 190492
2013-09-11 05:22:01 +00:00
Sean Silva 9d1e1a392a [docs] Fix Sphinx warning.
Adornments need to be at least as long as the thing they adorn.

llvm-svn: 190327
2013-09-09 19:13:28 +00:00
Sean Silva 3f93a61125 [docs] Fix some Sphinx toctree warnings.
llvm-svn: 190326
2013-09-09 19:09:00 +00:00
Sean Silva 23d2f6989e [docs] Some typographical fixes.
llvm-svn: 190324
2013-09-09 19:05:03 +00:00
Renato Golin d24899bfc2 Cross-compilation doc
llvm-svn: 190282
2013-09-08 20:44:48 +00:00
Vincent Lejeune 7deccf0f06 TableGen: Enumerate Schedule Model too.
llvm-svn: 189839
2013-09-03 19:43:28 +00:00
Chandler Carruth baf3fdb86b Nuke the hilariously out of date suggestion to unpack llvm-gcc 4.2 as
part of getting started with LLVM.

The LLVM getting started document is in woeful need of attention. I may
get to some of this, but some random notes for folks interested:

1) We need to separate the getting started steps for folks who are
   interested in the core LLVM libs and nothing else, folks interested
   in a nifty C++ toolchain and nothing else, and folks interested in
   both.
2) We should include documentation for both release archives, svn, and
   git in equal portion, and we should document all of the various
   repositories of interest: llvm, clang, clang-tools-extra,
   compiler-rt, lld, libcxx, test-suite.
3) We should document the CMake build. We should probably document the
   CMake build first, and give a fall-back set of docs for the Makefile
   build for the use cases where that is still the preferred solution.
   This would more closely match the use cases that folks in the open
   source community are likely to have, and would remove a point of
   discrepancy between Linux, Windows, and Mac instructions.
4) Probably a ton of other modernization stuff that I've not thought of
   here.

Anyways, if anyone at all is interested, please help clean up this
document. It is much needed.

llvm-svn: 189732
2013-09-01 23:42:27 +00:00
Chris Lattner 4fe2746c5f Revert r189704, which removed the guidance about not duplicating doc comments.
This is under active discussion.

llvm-svn: 189730
2013-09-01 15:48:08 +00:00
Chris Lattner 28cdc3d31b Remove the suggestion to not duplicate comments in header and
implementation files.  While doc generation systems don't need this,
humans do benefit from it.  Not everyone reads all code through doxygen.

llvm-svn: 189704
2013-08-30 23:06:20 +00:00
Manman Ren f5d4535a93 Add unique identifier field to Composite Types and Format.
llvm-svn: 189593
2013-08-29 17:07:49 +00:00
Michael Gottesman 406525d2df [doxygen] Use correct variable names for external variable configuration and make EXTRA_SEARCH_MAPPINGS a "dumb" variable.
I do not think the massaging that I was doing for EXTRA_SEARCH_MAPPINGS was
truly necessary.

llvm-svn: 189522
2013-08-28 21:55:26 +00:00
Michael Gottesman 7ed90880bc [doxygen] Added support for doxygen external search.
llvm-svn: 189507
2013-08-28 20:28:35 +00:00
Michael Gottesman 9cc5a45270 [cmake] Created an aggregate doxygen target for generating doxygen documentation for llvm/all subprojects. Renamed llvm's doxygen generation command to doxygen-llvm.
llvm-svn: 189506
2013-08-28 20:28:32 +00:00
Manuel Klimek aeb642276e Include a clearer policy about what's ok/nok to speed up code reviews.
llvm-svn: 189210
2013-08-26 07:29:08 +00:00
Michael Gottesman 4d35b909ad [autotools->cmake] Enable generation of doxygen documentation via cmake.
I am going to add in a subsequent patch support for generating the llvm
manpage.

llvm-svn: 189164
2013-08-24 07:25:21 +00:00
Andrea Di Biagio 377496bbad Add function attribute 'optnone'.
This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the 
exception of interprocedural optimization passes.

llvm-svn: 189101
2013-08-23 11:53:55 +00:00
Andrew Kaylor 27299c3494 Adding a document to describe the MCJIT execution engine implementation.
llvm-svn: 188943
2013-08-21 22:15:09 +00:00
Hal Finkel 0c5c01aa4a Add a llvm.copysign intrinsic
This adds a llvm.copysign intrinsic; We already have Libfunc recognition for
copysign (which is turned into the FCOPYSIGN SDAG node). In order to
autovectorize calls to copysign in the loop vectorizer, we need a corresponding
intrinsic as well.

In addition to the expected changes to the language reference, the loop
vectorizer, BasicTTI, and the SDAG builder (the intrinsic is transformed into
an FCOPYSIGN node, just like the function call), this also adds FCOPYSIGN to a
few lists in LegalizeVector{Ops,Types} so that vector copysigns can be
expanded.

In TargetLoweringBase::initActions, I've made the default action for FCOPYSIGN
be Expand for vector types. This seems correct for all in-tree targets, and I
think is the right thing to do because, previously, there was no way to generate
vector-values FCOPYSIGN nodes (and most targets don't specify an action for
vector-typed FCOPYSIGN).

llvm-svn: 188728
2013-08-19 23:35:46 +00:00
Dmitri Gribenko 8cac835723 docs: command guide: cleanups, no text changes
llvm-svn: 188627
2013-08-18 08:32:32 +00:00
Daniel Dunbar 06b9f9ecaa [typo] An LLVM.
llvm-svn: 188589
2013-08-16 23:30:19 +00:00
Benjamin Kramer 24ab6b3699 Sphinx refuses to render this code block. Try adding a newline.
llvm-svn: 188382
2013-08-14 16:18:47 +00:00
Tim Northover 0937679443 Add the C99 hex-float assembly syntax to our extension document.
As Ben pointed out, GAS doesn't support this syntax so we should give at least
some warning that it might not be portable.

llvm-svn: 188377
2013-08-14 15:27:20 +00:00
Michael Gottesman 98850bd39a [stack protector] Fixed typo.
llvm-svn: 188195
2013-08-12 19:44:09 +00:00
Michael Gottesman dafc7d9447 [stackprotector] Added intrinsic llvm.stackprotectorcheck.
llvm-svn: 188191
2013-08-12 18:35:32 +00:00
Daniel Dunbar 04388afd41 [docs] Update TestingGuide's note on how to run with Valgrind.
llvm-svn: 188097
2013-08-09 19:39:48 +00:00
Andrea Di Biagio 9b5d23bccb Add description of function attribute 'minsize' in LangRef.rst.
llvm-svn: 188091
2013-08-09 18:42:18 +00:00
Daniel Dunbar c4477dfd92 [lit] Change --show-{tests,suites} to exit after printing.
- This is a more sensible behavior than printing and also running tests.

llvm-svn: 188009
2013-08-08 20:59:25 +00:00
Daniel Dunbar b647d5d21d [lit] Remove --repeat option, which wasn't that useful.
llvm-svn: 188008
2013-08-08 20:59:20 +00:00
Hal Finkel 171817ee8a Add ISD::FROUND for libm round()
All libm floating-point rounding functions, except for round(), had their own
ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm
adding ISD::FROUND so that round() can be custom lowered as well.

For the most part, this is straightforward. I've added an intrinsic
and a matching ISD node just like those for nearbyint() and friends. The
SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed
fround).

This will be used by the PowerPC backend in a follow-up commit.

llvm-svn: 187926
2013-08-07 22:49:12 +00:00
Rafael Espindola b0b1622595 Add the common begin/end naming convention to the coding standard.
llvm-svn: 187902
2013-08-07 19:34:37 +00:00
Sean Silva 1cbbcf1c93 [LangRef] Alphabetize function attribute listing.
No content change.

Patch by Andrea Di Biagio!

llvm-svn: 187811
2013-08-06 19:34:37 +00:00
Rafael Espindola b2be0b41af Add a release not about llvm-ar.
Thanks to Bill Wendling for the reminder.

llvm-svn: 187794
2013-08-06 13:16:28 +00:00
Bill Wendling 7c8a4a4346 Fix grammar.
llvm-svn: 187755
2013-08-05 23:29:16 +00:00
Nadav Rotem eae928acd2 Update the release notes about the status of the vectorizers.
llvm-svn: 187714
2013-08-05 04:31:05 +00:00
Nadav Rotem 2da8b3e99e Update the docs.
llvm-svn: 187713
2013-08-05 04:27:34 +00:00
Tom Stellard 0ebf29d41f Revert "TableGen: Enumerate Schedule Model too."
This reverts commit 2ca1e4a39c7e0d7a00e66ff5437c6d7ace2404a0.

llvm-svn: 187525
2013-07-31 20:43:08 +00:00
Vincent Lejeune 22e6ddd475 TableGen: Enumerate Schedule Model too.
llvm-svn: 187511
2013-07-31 19:31:20 +00:00
Matt Arsenault 24b49c411c Reject bitcasts between address spaces with different sizes
llvm-svn: 187506
2013-07-31 17:49:08 +00:00
Bill Wendling c02da467f4 Fix underscore to be the proper length.
llvm-svn: 187406
2013-07-30 08:26:24 +00:00
Rafael Espindola d20830dfe5 Remove more dead documentation.
llvm-svn: 187403
2013-07-30 04:06:06 +00:00
Rafael Espindola cb87e35ed6 Delete documentation for deleted options.
llvm-svn: 187380
2013-07-29 21:35:48 +00:00
Rafael Espindola 2a2a0973b8 Use pipefail when available.
This change makes test with RUN lines like
RUN: opt ... | FileCheck

fail if opt fails, even if it prints what FileCheck wants. Enabling this
found some interesting cases of broken tests that were not being noticed
because opt (or some other tool) was crashing late.

Pipefail is used when the shell supports it or when using the internal
python based tester.

llvm-svn: 187261
2013-07-26 22:32:58 +00:00
Hans Wennborg ac1d6a0c98 Phabricator.rst: tiny fix
llvm-svn: 187164
2013-07-25 22:58:31 +00:00
Rafael Espindola bff44dddff Remove dead code from the makefile build system.
Back in r140220 we removed the autoconf code that would set LLVMCC_OPTION
since it was only used by the test-suite. This patch now removes code
that would only be used if LLVMCC_OPTION was set.

llvm-svn: 187154
2013-07-25 20:25:31 +00:00
Rafael Espindola 729866670b Remove the mblaze backend from llvm.
Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html

llvm-svn: 187145
2013-07-25 18:55:05 +00:00
Jakob Stoklund Olesen 5e5e297d16 Speling.
llvm-svn: 187076
2013-07-24 20:47:57 +00:00
Jakob Stoklund Olesen b8f3590357 Update old llc documentation.
Patch by Hafiz Abid!

llvm-svn: 187056
2013-07-24 17:45:11 +00:00
Rafael Espindola 86e4b41169 llvm-ar is far closer to being a regular ar implementation now. Update the docs.
llvm-svn: 187034
2013-07-24 13:13:24 +00:00
Ahmed Bougacha cf07cef719 docs: Update old VS 2008 references.
llvm-svn: 186968
2013-07-23 17:44:01 +00:00
Ahmed Bougacha b08b115c4a docs: cleanup VS 2008 release note.
Remove trailing ')'.  Sorry about all that, should be good now!

llvm-svn: 186965
2013-07-23 17:32:57 +00:00
Ahmed Bougacha bc4d7134f4 docs: Correct reST link.
llvm-svn: 186963
2013-07-23 17:28:35 +00:00
Ahmed Bougacha e17ecff3c4 Update docs to drop support for VS 2008.
llvm-svn: 186961
2013-07-23 17:25:26 +00:00
Stephen Lin b946407cb7 Fix FileCheck CHECK-LABEL documentation wording slightly; also mention that it allows error recovery.
llvm-svn: 186628
2013-07-18 23:26:58 +00:00
Stephen Lin a6e877fab4 Correct inaccurate statement in FileCheck docs.
llvm-svn: 186290
2013-07-14 18:12:25 +00:00
Tom Stellard 2d17f67651 R600: Add ISA documents to the CompilerWriterInfo page
llvm-svn: 186176
2013-07-12 18:14:40 +00:00
Stephen Lin f8bd2e5b86 Add new directive called CHECK-LABEL to FileCheck.
CHECK-LABEL is meant to be used in place on CHECK on lines containing identifiers or other unique labels (they need not actually be labels in the source or output language, though.) This is used to break up the input stream into separate blocks delineated by CHECK-LABEL lines, each of which is checked independently. This greatly improves the accuracy of errors and fix-it hints in many cases, and allows for FileCheck to recover from errors in one block by continuing to subsequent blocks.

Some tests will be converted to use this new directive in forthcoming patches.

llvm-svn: 186162
2013-07-12 14:51:05 +00:00
Hans Wennborg 0c14cf9a7c CommandLine.rst: remove tiny bit of bad mark-up
llvm-svn: 186042
2013-07-10 22:09:22 +00:00
Alexey Samsonov d7f6a6196e Document LLVM_USE_SANITIZER CMake option
llvm-svn: 185925
2013-07-09 10:56:13 +00:00
Benjamin Kramer 9f566a5a43 IR headers moved to llvm/IR some aeons ago, update documentation.
llvm-svn: 185854
2013-07-08 19:59:35 +00:00
Stephen Lin 095fee30e8 Update docs to say that a FunctionPass should not inspect other functions than the one being processed.
Please let me know if you disagree with this assessment (no one has yet, after asking on llvm-commits and LLVMDev) and I will revert.

llvm-svn: 185848
2013-07-08 18:34:39 +00:00
Nico Rieck a37acf702d MC: Implement COFF .linkonce directive
llvm-svn: 185753
2013-07-06 12:13:10 +00:00
Nick Lewycky efe31f2951 Fix language.
llvm-svn: 185739
2013-07-06 01:04:47 +00:00
Nick Lewycky c2ec0725ce Extend 'readonly' and 'readnone' to work on function arguments as well as
functions. Make the function attributes pass add it to known library functions
and when it can deduce it.

llvm-svn: 185735
2013-07-06 00:29:58 +00:00
Renato Golin 98c6081536 Add platform specific tests doc
llvm-svn: 185581
2013-07-03 20:56:33 +00:00
Michael Gottesman 3a6a967cc7 Fixed typo in LangRef where we were using _'' to quote instead of the correct _.
llvm-svn: 185479
2013-07-02 21:32:56 +00:00
Sean Silva d01eead98c [docs] Amend confusing title
"Writing an LLVM Compiler Backend" can be misinterpreted as meaning
"backend" in the sense of "using LLVM as a backend for your compiler for
your new language". This new name is less ambiguous.

As a bonus, this brings the title in line with the file name.

llvm-svn: 185377
2013-07-01 20:45:12 +00:00
Alexey Samsonov 2ca6536d7a llvm-symbolizer: add support for Mach-O universal binaries
llvm-svn: 185137
2013-06-28 08:15:40 +00:00
Michael Gottesman 296adb8b12 At the request of Richard Smith, swapped the order of cold/builtin so it is in alphabetical order.
llvm-svn: 185113
2013-06-27 22:48:08 +00:00
Joey Gouly b1b0dd8758 Add a Subtarget feature 'v8fp' to the ARM backend.
llvm-svn: 185073
2013-06-27 11:49:26 +00:00
Michael Gottesman 41748d7c86 Added support for the Builtin attribute.
The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin,

rdar://problem/13727199

llvm-svn: 185049
2013-06-27 00:25:01 +00:00
Nadav Rotem 87856b50cf The SLP Vectorizer works across basic blocks. Update the docs.
llvm-svn: 184973
2013-06-26 17:59:35 +00:00
Tom Stellard b162d94871 TableGen: Generate a function for getting operand indices based on their defined names
This patch modifies TableGen to generate a function in
${TARGET}GenInstrInfo.inc called getNamedOperandIdx(), which can be used
to look up indices for operands based on their names.

In order to activate this feature for an instruction, you must set the
UseNamedOperandTable bit.

For example, if you have an instruction like:

def ADD : TargetInstr <(outs GPR:$dst), (ins GPR:$src0, GPR:$src1)>;

You can look up the operand indices using the new function, like this:

Target::getNamedOperandIdx(Target::ADD, Target::OpName::dst)  => 0
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src0) => 1
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src1) => 2

The operand names are case sensitive, so $dst and $DST are considered
different operands.

This change is useful for R600 which has instructions with a large number
of operands, many of which model single bit instruction configuration
values.  These configuration bits are common across most instructions,
but may have a different operand index depending on the instruction type.
It is useful to have a convenient way to look up the operand indices,
so these bits can be generically set on any instruction.

llvm-svn: 184879
2013-06-25 21:22:09 +00:00
Meador Inge d554a49042 Add a release note for removing the simplify-libcalls pass.
llvm-svn: 184522
2013-06-21 03:08:23 +00:00
Sean Silva 7ea06e5a9f [docs] Fix broken link.
llvm-svn: 184514
2013-06-21 01:11:52 +00:00
Sean Silva b6bfbad290 [docs] Fix formatting.
'\n' was displaying as 'n'

llvm-svn: 184507
2013-06-21 00:27:54 +00:00
Stephen Lin fec5b0bb8d Minor grammar and word usage fix to 'returned' parameter attribute section of LangRef
llvm-svn: 184479
2013-06-20 21:55:10 +00:00
Michael Gottesman dd6716cd51 [ReleaseNotes] Added bullet point stating that APFloat::isNormal() is now IEEE 754R-2008 compliant and that the relevant method renaming occurred.
For more information see r184449, r184350, r184356, r184366.

llvm-svn: 184452
2013-06-20 18:47:51 +00:00
Stefanus Du Toit 736e2e20e5 Fix typos "metatadata" -> "metadata" in the LangRef.
llvm-svn: 184426
2013-06-20 14:02:44 +00:00
JF Bastien e84854a125 Small correction to unordered memory code generation of ARM LDRD
The information was correct pre-LPAE.

llvm-svn: 184253
2013-06-18 23:07:16 +00:00
Rafael Espindola 668c642830 Remove the LLVM specific archive index.
Archive files (.a) can have a symbol table indicating which object
files in them define which symbols. The purpose of this symbol table
is to speed up linking by allowing the linker the read only the .o
files it is actually going to use instead of having to parse every
object's symbol table.

LLVM's archive library currently supports a LLVM specific format for
such table. It is hard to see any value in that now that llvm-ld is
gone:

* System linkers don't use it: GNU ar uses the same plugin as the
linker to create archive files with a regular index. The OS X ar
creates no symbol table for IL files, I assume the linker just parses
all IL files.

* It doesn't interact well with archives having both IL and native objects.

* We probably don't want to be responsible for yet another archive
format variant.

This patch then:

* Removes support for creating and reading such index from lib/Archive.
* Remove llvm-ranlib, since there is nothing left for it to do.

We should in the future add support for regular indexes to llvm-ar for
both native and IL objects. When we do that, llvm-ranlib should be
reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".

llvm-svn: 184019
2013-06-14 23:25:53 +00:00
Renato Golin 11cb23a6f7 Update Release Process doc
llvm-svn: 183825
2013-06-12 11:35:33 +00:00
Michael Liao e7fdb1386a Fix documentation on the path to Bitcode reader/writer
llvm-svn: 183761
2013-06-11 18:09:21 +00:00
Rafael Espindola 70a729dfd5 Require members of llvm.used to be named.
The effect of llvm.used is to introduce an invisible reference, so this seems
a reasonable restriction. It will be used to provide an easy ordering of
the entries in llvm.used.

llvm-svn: 183743
2013-06-11 13:18:13 +00:00
Logan Chien 855b17d1bc Update code listings in LLVM tutorial.
Several LLVM headers are moved.  The code listings in
LLVM tutorial are not updated yet.

This CL removes the code replica in the .rst, and replace
them with a literalinclude directive, so that sphinx can
include the latest code automatically.

llvm-svn: 183607
2013-06-08 09:03:03 +00:00
Rui Ueyama 1b0a949482 [docs] Add link to Microsoft PE/COFF Spec.
llvm-svn: 183562
2013-06-07 20:30:27 +00:00
Eli Bendersky 0220e6bd85 Add more explicit link targets to headers in LangRef.rst
llvm-svn: 183555
2013-06-07 20:24:43 +00:00
Eli Bendersky fdc529ad95 Add explicit link targets to some headers in LangRef.rst
llvm-svn: 183548
2013-06-07 19:40:08 +00:00
Sean Silva 69fd257802 [docs] Add link to C++ ABI document.
llvm-svn: 183342
2013-06-05 21:11:16 +00:00
Sean Silva ce4bb3cb12 [docs] Add link to SysV ABI document.
llvm-svn: 183341
2013-06-05 21:11:11 +00:00
Sean Silva 0d65a762ac [docs] Replace non-existent LLVM_YAML_UNIQUE_TYPE() macro
LLVM_YAML_STRONG_TYPEDEF() is the correct macro to perform this function.

llvm-svn: 183280
2013-06-04 23:36:41 +00:00
Richard Smith 939889f6a4 Fix link.
llvm-svn: 183248
2013-06-04 20:42:42 +00:00
Bill Wendling af8c57c7b3 We are now in 3.4 land. We don't need the 3.3 releaese notes in ToT anymore.
llvm-svn: 183210
2013-06-04 06:12:31 +00:00
Richard Sandiford 737b880110 Add links to the System z architecture manual and ABI
llvm-svn: 182990
2013-05-31 09:14:54 +00:00
Paul Redmond 219ef811ca Fix warning and resulting formatting issue.
llvm-svn: 182939
2013-05-30 17:24:32 +00:00
Paul Redmond eccbb323ea Revise llvm.vectorizer.width documentation
- clarify that vectorizer.width only applies if the vectorizer decides to
  vectorize.

llvm-svn: 182938
2013-05-30 17:22:46 +00:00
Ashok Thirumurthi 29d9318c0c Added a sub-project status update section to the release notes with details
on the LLDB 3.3 release.

Reviewed by: Greg Clayton and Bill Wendling

llvm-svn: 182931
2013-05-30 14:23:07 +00:00
Sergey Matveev 8dbcb356f7 Fix incorrect parameter name in LIT docs.
llvm-svn: 182926
2013-05-30 12:37:52 +00:00
David Blaikie c4fe5db111 Debug Info: Update documentation to match recent (& not so recent) schema changes
This updates the debug info metadata schema documentation for various
schema changes made recently surrounding filename information for
scopes and the representation of imported entities.

llvm-svn: 182817
2013-05-29 02:05:13 +00:00
Paul Redmond 5fdf836ba4 Add support for llvm.vectorizer metadata
- llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic
  by making the root of additional loop metadata.
  - Loop::isAnnotatedParallel now looks for llvm.loop and associated
    llvm.mem.parallel_loop_access
  - document llvm.loop and update llvm.mem.parallel_loop_access
- add support for llvm.vectorizer.width and llvm.vectorizer.unroll
  - document llvm.vectorizer.* metadata
  - add utility class LoopVectorizerHints for getting/setting loop metadata
  - use llvm.vectorizer.width=1 to indicate already vectorized instead of
    already_vectorized
- update existing tests that used llvm.loop.parallel and
  llvm.vectorizer.already_vectorized

Reviewed by: Nadav Rotem

llvm-svn: 182802
2013-05-28 20:00:34 +00:00
Renato Golin 467e256493 Typo
llvm-svn: 182766
2013-05-28 11:28:37 +00:00
Renato Golin c08f218b48 Linking ReleaseProcess doc with the world
llvm-svn: 182763
2013-05-28 10:32:55 +00:00
Renato Golin 6347551e45 Adding ReleaseProcess doc
llvm-svn: 182759
2013-05-28 09:48:52 +00:00
Kai Nacke 4157b371f6 Add LDC compiler to list of external OS projects using LLVM 3.3
llvm-svn: 182718
2013-05-26 17:37:43 +00:00
Diego Novillo c63995394d Add a new function attribute 'cold' to functions.
Other than recognizing the attribute, the patch does little else.
It changes the branch probability analyzer so that edges into
blocks postdominated by a cold function are given low weight.

Added analysis and code generation tests.  Added documentation for the
new attribute.

llvm-svn: 182638
2013-05-24 12:26:52 +00:00
Tim Northover bc93308489 ARM: implement @llvm.readcyclecounter intrinsic
This implements the @llvm.readcyclecounter intrinsic as the specific
MRC instruction specified in the ARM manuals for CPUs with the Power
Management extensions.

Older CPUs had slightly different methods which may also have to be
implemented eventually, but this should cover all v7 cases.

rdar://problem/13939186

llvm-svn: 182603
2013-05-23 19:11:20 +00:00
Rui Ueyama 142736fc64 Fix typo in docs/GettingStarted.rst.
llvm-svn: 182496
2013-05-22 18:09:39 +00:00
Rafael Espindola f6474d2834 Make R600 non-experimental.
The r600 backend has been in tree for some time now. Marking it as
non-experimental to avoid accidental breakage.

llvm-svn: 182442
2013-05-22 00:35:47 +00:00
Sean Silva 8ca1178f45 LangRef.rst: Clarify how basic blocks without named label are handled.
Describe that they are assigned numbered label using the same counter
as for unnamed temporaries.

Based on http://llvm.org/bugs/show_bug.cgi?id=16043 and mailing list
discussion.

Patch by Paul Sokolovsky!

llvm-svn: 182332
2013-05-20 23:31:12 +00:00
Daniel Dunbar bf2e7b593e [docs] Minor doc tweaks.
llvm-svn: 182324
2013-05-20 22:39:48 +00:00
Dmitri Gribenko d95ddb744f docs/Passes: fix some typos
Patch by Yacine Belkadi.

llvm-svn: 182197
2013-05-18 18:01:44 +00:00
Arnaud A. de Grandmaison ca08b076f3 Add Jade to the list of external projects using LLVM in the release notes.
Patch by: Antoine Lorence <Antoine.Lorence@insa-rennes.fr>

llvm-svn: 181886
2013-05-15 14:05:01 +00:00
Michael Liao 91a1b2c9eb Add 'CHECK-DAG' support
Refer to 'FileCheck.rst'f for details of 'CHECK-DAG'.

llvm-svn: 181827
2013-05-14 20:34:12 +00:00
Richard Sandiford eb9af29426 [SystemZ] Add disassembler support
llvm-svn: 181777
2013-05-14 10:17:52 +00:00
Alexander Kornienko 72a196a159 Better output for long help strings for command-line options.
Summary:
This patch allows using \n inside long help strings for command-line
options, so that all lines are equally indented. This is not a perfect solution,
as we don't (and probably don't want to) know about terminal width, but it
allows to format long help strings somehow readable without manually padding
them with spaces. A motivating example is -help output from clang-format (source
code in tools/clang-format/ClangFormat.cpp, see cl options offset, length,
style, and dump-config).

Reviewers: atrick, alexfh

Reviewed By: alexfh

CC: llvm-commits, rafael

Differential Revision: http://llvm-reviews.chandlerc.com/D779

llvm-svn: 181608
2013-05-10 17:15:51 +00:00
Richard Sandiford ef494aa857 Add SystemZ feats to CodeGenerator.rst
llvm-svn: 181431
2013-05-08 14:23:43 +00:00
Rafael Espindola 9a383405a7 Remove exception handling support from the old JIT.
llvm-svn: 181354
2013-05-07 20:53:59 +00:00
Bill Wendling 37df82db8f We're in 3.4 land now.
llvm-svn: 181350
2013-05-07 20:31:28 +00:00
Rafael Espindola d522158df0 Add empty release notes for 3.4.
The idea is that docs/ReleaseNotes.rst is 3.3 and will be copied to the
branch by the release manager just before creating the release
candidates.

This ReleaseNotes_34.rst will then be moved over ReleaseNotes.rst after
the 3.3 release.

llvm-svn: 181349
2013-05-07 20:26:16 +00:00
Andrew Trick 1fc397f532 Add two points to release notes about recent command line library changes.
Patch by Dan Liew!

llvm-svn: 181335
2013-05-07 17:34:35 +00:00
Richard Sandiford b11f9274ee Mention SystemZ in the release notes
llvm-svn: 181328
2013-05-07 15:52:32 +00:00
Rafael Espindola c2565855ff Note that EH is now supported in MCJIT.
llvm-svn: 181305
2013-05-07 12:29:17 +00:00
Tim Northover 8b5b360781 Correct logical shift documentation
llvm-svn: 181290
2013-05-07 06:17:14 +00:00
Andrew Trick 7cb710d58c Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.
Patch by Dan Liew!

llvm-svn: 181254
2013-05-06 21:56:35 +00:00
Andrew Trick 0537a98878 Support command line option categories.
Patch by Dan Liew!

llvm-svn: 181253
2013-05-06 21:56:23 +00:00