Commit Graph

4991 Commits

Author SHA1 Message Date
Hal Finkel
66d1fa6f4b 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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188728 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-19 23:35:46 +00:00
Dmitri Gribenko
70f6b36c30 docs: command guide: cleanups, no text changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188627 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-18 08:32:32 +00:00
Daniel Dunbar
1323006423 [typo] An LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188589 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-16 23:30:19 +00:00
Benjamin Kramer
17a5457ffe Sphinx refuses to render this code block. Try adding a newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188382 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 16:18:47 +00:00
Tim Northover
003f93f134 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188377 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 15:27:20 +00:00
Michael Gottesman
2bf823e635 [stack protector] Fixed typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188195 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-12 19:44:09 +00:00
Michael Gottesman
2a64a639e5 [stackprotector] Added intrinsic llvm.stackprotectorcheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188191 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-12 18:35:32 +00:00
Daniel Dunbar
22c6ccf839 [docs] Update TestingGuide's note on how to run with Valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188097 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-09 19:39:48 +00:00
Andrea Di Biagio
1edaeb61b2 Add description of function attribute 'minsize' in LangRef.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188091 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-09 18:42:18 +00:00
Daniel Dunbar
abb9de5257 [lit] Change --show-{tests,suites} to exit after printing.
- This is a more sensible behavior than printing and also running tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188009 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-08 20:59:25 +00:00
Daniel Dunbar
59c6b1073c [lit] Remove --repeat option, which wasn't that useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188008 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-08 20:59:20 +00:00
Hal Finkel
41418d17cc 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187926 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 22:49:12 +00:00
Rafael Espindola
f4c2104d00 Add the common begin/end naming convention to the coding standard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187902 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 19:34:37 +00:00
Sean Silva
e6b1079cd8 [LangRef] Alphabetize function attribute listing.
No content change.

Patch by Andrea Di Biagio!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-06 19:34:37 +00:00
Rafael Espindola
5f28b1ff89 Add a release not about llvm-ar.
Thanks to Bill Wendling for the reminder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187794 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-06 13:16:28 +00:00
Bill Wendling
51b6fb4469 Fix grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187755 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 23:29:16 +00:00
Nadav Rotem
f18d7f8cb8 Update the release notes about the status of the vectorizers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187714 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 04:31:05 +00:00
Nadav Rotem
055028f6c8 Update the docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187713 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 04:27:34 +00:00
Tom Stellard
5519dc9de8 Revert "TableGen: Enumerate Schedule Model too."
This reverts commit 2ca1e4a39c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187525 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-31 20:43:08 +00:00
Vincent Lejeune
2ca1e4a39c TableGen: Enumerate Schedule Model too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187511 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-31 19:31:20 +00:00
Matt Arsenault
16e4ed5879 Reject bitcasts between address spaces with different sizes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187506 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-31 17:49:08 +00:00
Bill Wendling
d6a721b14d Fix underscore to be the proper length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187406 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-30 08:26:24 +00:00
Rafael Espindola
bcbb5dacbd Remove more dead documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187403 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-30 04:06:06 +00:00
Rafael Espindola
1fde907244 Delete documentation for deleted options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187380 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-29 21:35:48 +00:00
Rafael Espindola
c1bb2d4325 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187261 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-26 22:32:58 +00:00
Hans Wennborg
36e6ae6106 Phabricator.rst: tiny fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187164 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 22:58:31 +00:00
Rafael Espindola
1a9e24844f 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187154 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 20:25:31 +00:00
Rafael Espindola
6fccaafd8b Remove the mblaze backend from llvm.
Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187145 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 18:55:05 +00:00
Jakob Stoklund Olesen
4e9d45e0aa Speling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187076 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-24 20:47:57 +00:00
Jakob Stoklund Olesen
f32ec17b9f Update old llc documentation.
Patch by Hafiz Abid!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187056 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-24 17:45:11 +00:00
Rafael Espindola
36f5ac198f llvm-ar is far closer to being a regular ar implementation now. Update the docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187034 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-24 13:13:24 +00:00
Ahmed Bougacha
b9938e1aba docs: Update old VS 2008 references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186968 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-23 17:44:01 +00:00
Ahmed Bougacha
813a2a50d2 docs: cleanup VS 2008 release note.
Remove trailing ')'.  Sorry about all that, should be good now!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186965 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-23 17:32:57 +00:00
Ahmed Bougacha
69a953dfd4 docs: Correct reST link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186963 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-23 17:28:35 +00:00
Ahmed Bougacha
0ac72463b0 Update docs to drop support for VS 2008.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186961 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-23 17:25:26 +00:00
Stephen Lin
d639206676 Fix FileCheck CHECK-LABEL documentation wording slightly; also mention that it allows error recovery.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186628 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-18 23:26:58 +00:00
Stephen Lin
eeea96d4c0 Correct inaccurate statement in FileCheck docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186290 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-14 18:12:25 +00:00
Tom Stellard
7a88b655cc R600: Add ISA documents to the CompilerWriterInfo page
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186176 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-12 18:14:40 +00:00
Stephen Lin
178504b07b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186162 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-12 14:51:05 +00:00
Hans Wennborg
fe76696ca4 CommandLine.rst: remove tiny bit of bad mark-up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186042 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-10 22:09:22 +00:00
Alexey Samsonov
f27b46b26f Document LLVM_USE_SANITIZER CMake option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-09 10:56:13 +00:00
Benjamin Kramer
e5a532dae3 IR headers moved to llvm/IR some aeons ago, update documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185854 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-08 19:59:35 +00:00
Stephen Lin
905dea95bf 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185848 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-08 18:34:39 +00:00
Nico Rieck
8064628379 MC: Implement COFF .linkonce directive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185753 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-06 12:13:10 +00:00
Nick Lewycky
d1066efaec Fix language.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185739 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-06 01:04:47 +00:00
Nick Lewycky
dc89737bcd 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-06 00:29:58 +00:00
Renato Golin
f0126ea0a1 Add platform specific tests doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185581 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-03 20:56:33 +00:00
Michael Gottesman
550d9bf984 Fixed typo in LangRef where we were using _'' to quote instead of the correct _.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185479 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-02 21:32:56 +00:00
Sean Silva
2f8a1769e4 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185377 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-01 20:45:12 +00:00
Alexey Samsonov
8175bc3d3b llvm-symbolizer: add support for Mach-O universal binaries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185137 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-28 08:15:40 +00:00