Commit Graph

4423 Commits

Author SHA1 Message Date
Michael J. Spencer
75338097c7 Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
llvm-ld is no longer useful and causes confusion and so it is being removed.

* Does not work very well on Windows because it must call a gcc like driver to
  assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
  ld, or fully replaced by Clang.

I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 19:27:54 +00:00
Daniel Dunbar
057a4b40a6 [docs] Add back old index.html until I get llvm.org work done to support Sphinx docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155134 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 16:37:30 +00:00
Daniel Dunbar
21e993c1b1 [docs] Convert docs index page into Sphinx.
- Work in progress, this is mostly important because it lets us incrementally migrate the remaining documentation.
 - Lots of styling, editing, and integration work yet to come…
 - PR12589

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 16:31:37 +00:00
Daniel Dunbar
75083ebc09 [docs] Stub out structure for Sphinx-based docs.
- Work in progress, this is just the basic structure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155132 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 16:31:19 +00:00
Jim Grosbach
838b7a33f4 Document that StringMap iteration order is non-deterministic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155040 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-18 20:28:55 +00:00
Eli Bendersky
ecc754de8e A bit of cleanup in the TestingGuide doc - dg.exp files no longer exist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154992 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-18 08:02:25 +00:00
Eli Bendersky
b89ea68e75 Some formatting and grammar fixes in the FileCheck documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154990 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-18 07:44:03 +00:00
Chandler Carruth
c76c94f9bf Add a stub about the inline cost rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154892 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-17 01:13:53 +00:00
Chandler Carruth
268fde43cf Add a stub for block placement pass. This needs fleshing out w/ details
about what folks should expect w.r.t. the new algorithm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154891 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-17 01:10:35 +00:00
Duncan Sands
7489765eeb Forgot to remove fast math metadata from the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154858 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 20:51:39 +00:00
Duncan Sands
2867c85a37 Remove support for the special 'fast' value for fpmath accuracy for the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154850 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 19:39:33 +00:00
Tobias Grosser
99a0b28b41 Describe Polly as a 'Polyhedral Optimizer'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154834 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 17:18:49 +00:00
Tobias Grosser
76213b8659 Add Polly news to the release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154833 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 17:17:00 +00:00
Hal Finkel
12c10b3762 Link to the autovectorization EuroLLVM slides in the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154830 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 17:06:49 +00:00
Duncan Sands
8883c43ddc Make it possible to indicate relaxed floating point requirements at the IR level
through the use of 'fpmath' metadata.  Currently this only provides a 'fpaccuracy'
value, which may be a number in ULPs or the keyword 'fast', however the intent is
that this will be extended with additional information about NaN's, infinities
etc later.  No optimizations have been hooked up to this so far.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154822 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 16:28:59 +00:00
Eli Bendersky
4d66f4cc6e Documentation fixes to LLVMBuild.html [PR 11563]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154804 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 08:42:55 +00:00
Bill Wendling
59fc1664ab Add credit and release notes for r150307. By Kai Nacke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154796 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 05:24:52 +00:00
Hal Finkel
9068bf5dd0 Say something about -vectorize in the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154788 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-16 03:49:43 +00:00
Jakub Staszak
082d475fc9 Fix class name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154773 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15 20:22:36 +00:00
Jakub Staszak
00920f68a4 Fix filename and register numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154771 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15 20:13:47 +00:00
Duncan Sands
e747fadedf Add the MDBuilder helper class for conveniently creating metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154766 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15 18:03:49 +00:00
Anshuman Dasgupta
3c1ded2691 Remove trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154755 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-14 20:59:13 +00:00
Anshuman Dasgupta
cff391a825 Add VLIW packetizer to ReleaseNotes.html and CREDITS.TXT. Committing patch
by Sundeep Kushwaha.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154754 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-14 20:57:13 +00:00
Brendon Cahoon
ff730398c0 Add the loop unrolling info to ReleaseNotes.html and CREDITS.TXT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154752 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-14 16:54:12 +00:00
Duncan Sands
5e5c5f8259 Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm
thinking of generalizing it to be able to specify other freedoms beyond accuracy
(such as that NaN's don't have to be respected).  I'd like the 3.1 release (the
first one with this metadata) to have the more generic name already rather than
having to auto-upgrade it in 3.2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154744 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-14 12:36:06 +00:00
Tony Linthicum
e05e55d839 Support for Hexagon backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154692 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-13 19:09:44 +00:00
Anshuman Dasgupta
4b4795563c Add DFA generator for VLIW targets to ReleaseNotes.html and CREDITS.TXT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154590 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-12 15:17:35 +00:00
Duncan Sands
1fd63df693 Express the number of ULPs in fpaccuracy metadata as a real rather than a
rational number, eg as 2.5 rather than 5, 2.  OK'd by Peter Collingbourne.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154387 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10 08:22:43 +00:00
Duncan Sands
92fc76c901 Clarify that fpaccuracy metadata is giving the compiler permission to use a
less accurate method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154319 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-09 14:08:00 +00:00
Bill Wendling
084cd7fa68 Formatting changes. Don't put spaces in front of some code, which only makes it look 'off'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154282 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-08 11:52:52 +00:00
NAKAMURA Takumi
847307a35b Target/X86/MCTargetDesc/X86MCAsmInfo.cpp: Enable DwarfCFI (aka DW2) on Cygming.
Cygwin-1.7 supports dw2. Some recent mingw distros support one, too.
I have confirmed test-suite/SingleSource/Benchmarks/Shootout-C++/except.cpp can pass on Cygwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154247 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07 02:24:20 +00:00
Eric Christopher
6126a1e189 Add a line number for the scope of the function (starting at the first
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.

Part of rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153916 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-03 00:43:49 +00:00
Benjamin Kramer
e13cea4110 Drop O4 from the llc manpage, it was removed in r70445.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153684 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-29 20:40:18 +00:00
NAKAMURA Takumi
9c55f5965b llvm/docs/*.html: Fix markups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153508 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27 11:25:16 +00:00
Daniel Dunbar
f64282145e docs/lit: Add some notes on the lit test run output format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153450 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26 18:01:14 +00:00
Eric Christopher
4787cc47f9 Update documentation for old api changes.
Fixes PR12050

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153424 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26 01:56:34 +00:00
Rafael Espindola
626c346be4 s/restrict/describe/
Thanks Duncan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153411 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-25 11:14:35 +00:00
Eli Bendersky
cc85160672 Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu
* Removed test/lib/llvm.exp - it is no longer needed 
* Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files
  left in the test suite so this code is no longer required. test/lit.cfg is
  now much shorter and clearer 
* Removed a lot of duplicate code in lit.local.cfg files that need access to
  the root configuration, by adding a "root" attribute to the TestingConfig
  object. This attribute is dynamically computed to provide the same
  information as was previously provided by the custom getRoot functions. 
* Documented the config.root attribute in docs/CommandGuide/lit.pod





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153408 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-25 09:02:19 +00:00
Rafael Espindola
692cd4596e Add a small release not about the range metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153391 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24 19:02:32 +00:00
Rafael Espindola
39dd328ed0 First part of PR12251. Add documentation and verifier support for the range
metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153359 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24 00:14:51 +00:00
Eric Christopher
a443e5b1f1 Remove the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153307 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23 05:50:46 +00:00
Nick Lewycky
8a618a2958 Explicitly close optionally closed <li> tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153296 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23 00:56:26 +00:00
Nick Lewycky
98a92d199c Add a release note for r145714.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153224 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21 22:58:28 +00:00
Nick Lewycky
75d05e6121 This clause (although matching parts of the implementation) can't be correct.
Thanks to Eli for noticing the discrepancy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153011 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-18 09:35:50 +00:00
Chris Lattner
748c1ec713 clarify the coding standards a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152957 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-16 22:34:37 +00:00
Daniel Dunbar
90d9e02285 docs: Update TestingGuide to change recommended practice to using LNT to drive
the test-suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152860 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15 22:19:35 +00:00
Eli Bendersky
e28e2a8dc4 Some typos in lit command guide
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14 11:34:19 +00:00
Bill Wendling
4cc2be672f Update the "hello world" example to resemble what we currently output.
Also do some minor reformatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152707 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14 08:07:43 +00:00
Eli Bendersky
bf222b9599 Typo in lit command guide
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152702 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14 06:09:20 +00:00
Eli Bendersky
61b1851a20 Add profiling support for Intel Parallel Amplifier XE (VTune) for JITted code in LLVM.
Also refactor the existing OProfile profiling code to reuse the same interfaces with the VTune profiling code.
In addition, unit tests for the profiling interfaces were added.

This patch was prepared by Andrew Kaylor and Daniel Malea, and reviewed in the llvm-commits list by Jim Grosbach



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152620 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13 08:33:15 +00:00
Bill Wendling
b3ef2230ff Add column width.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152115 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 09:23:25 +00:00
Bill Wendling
cf1f6c8a37 Remove short tag marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152114 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 09:22:03 +00:00
Bill Wendling
63f5a1f4d6 Appease the HTML validation gods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152113 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 09:20:59 +00:00
Bill Wendling
0eb5914411 Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152112 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 09:17:39 +00:00
Bill Wendling
a0edecf191 Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152111 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 09:17:04 +00:00
Bill Wendling
88a6808377 Add missing end tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 08:59:13 +00:00
Eric Christopher
5b7634fd74 Fix up link and a couple small edits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152094 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 02:25:41 +00:00
Eric Christopher
25e6329e68 Add the beginnings of documentation for the Name Accelerator Tables.
Based on a writeup originally by Greg Clayton.

Abuse div and pre tags horribly. Needs a bit more cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152093 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 02:25:38 +00:00
Eric Christopher
fc7243a1f6 Delete trailing whitespace to clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152092 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 02:25:36 +00:00
NAKAMURA Takumi
2aaf3fcbc0 llvm/docs/GarbageCollection.html: Prune utf8 BOM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151968 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03 04:32:33 +00:00
Jia Liu
08bc33dcbb add llvm.gcroot into GarbageCollection.html, patch bylost lostfreeman@gmail.com.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151908 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02 11:30:51 +00:00
Jia Liu
b373647d47 rplace Alpha with ARM in docs/WritingAnLLVMBackend.html, patch by chenwj
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151811 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-01 15:14:19 +00:00
Nick Lewycky
84a1d2371c Where the alloca'd space actually lives in ram is undefined, and attempting to
pin it down is undefined behaviour.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151710 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29 08:26:44 +00:00
Craig Topper
a1c5b8e1e6 Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151513 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-27 02:31:09 +00:00
Chad Rosier
7497a9a7e8 Remove more GCC FE build stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151507 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 22:26:37 +00:00
Chad Rosier
e342ec6773 Installing the GCC front end is no longer supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151506 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 22:17:05 +00:00
Chad Rosier
1cdc9fbb95 Cleanup the LLVM Getting Started page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151505 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 22:12:59 +00:00
Chad Rosier
483454f2f1 Add href to clang in overview.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151503 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 21:34:02 +00:00
Chad Rosier
372b8221b7 Remove references to llvm-gcc from overview and tutorial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151502 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 21:31:25 +00:00
Nadav Rotem
fdc309cc4e Add a random .LL file generator to stress-test different llvm components.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151479 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26 08:35:53 +00:00
Jim Grosbach
6e6b822b51 Release not for ARM integrated assembler support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23 23:52:06 +00:00
Chad Rosier
89c5d26758 Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151302 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23 23:21:22 +00:00
Chad Rosier
8ce6b7daf7 The LLVM Getting Started documentation is out of date. It would be nice if
someone could update this, but for now at least reference the Clang Getting
Started document, which is much more current.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151285 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23 21:23:24 +00:00
Chris Lattner
ecc39dece9 libclc is now dual licensed, Tobias and Peter own their respective subprojects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151186 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22 19:17:20 +00:00
David Greene
cebb4ee93a Add Foreach Loop
Add some data structures to represent for loops.  These will be
referenced during object processing to do any needed iteration and
instantiation.

Add foreach keyword support to the lexer.

Add a mode to indicate that we're parsing a foreach loop.  This allows
the value parser to early-out when processing the foreach value list.

Add a routine to parse foreach iteration declarations.  This is
separate from ParseDeclaration because the type of the named value
(the iterator) doesn't match the type of the initializer value (the
value list).  It also needs to add two values to the foreach record:
the iterator and the value list.

Add parsing support for foreach.

Add the code to process foreach loops and create defs based
on iterator values.

Allow foreach loops to be matched at the top level.

When parsing an IDValue check if it is a foreach loop iterator for one
of the active loops.  If so, return a VarInit for it.

Add Emacs keyword support for foreach.

Add VIM keyword support for foreach.

Add tests to check foreach operation.

Add TableGen documentation for foreach.

Support foreach with multiple objects.

Support non-braced foreach body with one object.

Do not require types for the foreach declaration.  Assume the iterator
type from the iteration list element type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22 16:09:41 +00:00
Jakob Stoklund Olesen
62588622d4 Add a Briggs and Torczon sparse set implementation.
For objects that can be identified by small unsigned keys, SparseSet
provides constant time clear() and fast deterministic iteration. Insert,
erase, and find operations are typically faster than hash tables.

SparseSet is useful for keeping information about physical registers,
virtual registers, or numbered basic blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22 00:56:08 +00:00
Chad Rosier
5bfd969208 Fix documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150860 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-18 01:38:41 +00:00
Jakob Stoklund Olesen
2624661011 Note x86 regmask operands in release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16 18:22:39 +00:00
Bill Wendling
190ec9b9c1 Add blurb about module flags and reformat a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150677 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16 10:23:43 +00:00
Bill Wendling
f7b367ce45 Give a description of the Objective-C garbage collection module flags.
The rule governing the flags is this:

  no-gc + no-gc   = no-gc
  no-gc +    gc   = no-gc
  no-gc + gc-only = error
     gc +    gc   = gc
     gc + gc-only = gc-only
gc-only + gc-only = gc-only


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150646 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16 01:10:50 +00:00
Daniel Dunbar
5b1065629b utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150610 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15 19:24:11 +00:00
Bill Wendling
b9d75a94dd Document the new module flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150301 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-11 11:59:36 +00:00
Pete Cooper
f95acc6d02 Added description of invariant.load metadata to LangRef. It was added to the compiler in r144100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150257 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-10 18:13:54 +00:00
Jia Liu
060047f03b update --enable-targets list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150229 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-10 04:58:24 +00:00
Devang Patel
cd37fd51fc Now subprogram descriptors are not collected by llvm.dbg.sp NamedMDNode. Update document to reflect this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150187 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-09 17:34:01 +00:00
Chris Lattner
4526195eca fix broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150105 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-08 22:20:00 +00:00
Chris Lattner
4871701437 No actual functional change here, just some clarifications:
Clarify that contributors are agreeing to license their code under the 
license corresponding to the subproject that they are contributing to,
as requested by a potential contributor.

Also, as a drive-by, update the llvm-gcc/GPL section to mention dragonegg
and say that GPL code is all in its own repo's.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150065 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-08 07:58:38 +00:00
Chris Lattner
9b6e59d903 add an explicit section on static constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150037 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-08 01:44:00 +00:00
Bill Wendling
e26cdbe1c7 Rephrase to add clarity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149972 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07 08:42:29 +00:00
Bill Wendling
06d7e1b52b Document the 'unwind' removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149914 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 21:59:44 +00:00
Bill Wendling
7b9e539268 [unwind removal] Remove any mention of the 'unwind' instruction. What was that
instruction anyway?!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149913 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 21:57:33 +00:00
Devang Patel
ba98b6bdd1 Update docs describing objective-c property encoding. This includes support for properties that are not backed by an ivar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149879 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 18:18:25 +00:00
Bill Wendling
5a65864f92 Mention that the 'unwind' instruction is now deprecated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149876 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 17:58:34 +00:00
Eli Bendersky
3d6b64a1eb Fix typo and broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149820 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05 11:17:49 +00:00
Eli Bendersky
371d7b0610 Add missing paren
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149817 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05 09:21:25 +00:00
Hal Finkel
de5e5ec304 Add a basic-block autovectorization pass.
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure.
Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149468 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-01 03:51:43 +00:00
Dan Gohman
e1d82220c4 basic-aa does support AliasAnalysis chaining now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149293 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-30 23:05:41 +00:00
Talin
babd5980d8 DenseMap::find_as() and unit tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149229 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-30 06:55:43 +00:00
Jim Grosbach
c48d4dc8a9 Tidy up. s/Low Level Virtual Machine/LLVM/.
LLVM isn't an acronym anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148985 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-25 22:00:23 +00:00
Nick Lewycky
300a263d93 Fix broken link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148692 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23 08:47:21 +00:00
Kostya Serebryany
164b86b439 Extend Attributes to 64 bits
Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom:  if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148553 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20 17:56:17 +00:00
Chad Rosier
f46fbade8a Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148497 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-19 21:50:08 +00:00
Jakob Stoklund Olesen
7739cad69d Add a new kind of MachineOperand: MO_RegisterMask.
Register masks will be used as a compact representation of large clobber
lists.  Currently, an x86 call instruction has some 40 operands
representing call-clobbered registers.  That's more than 1kB of useless
operands per call site.

A register mask operand references a bit mask of call-preserved
registers, everything else is clobbered.  The bit mask will typically
come from TargetRegisterInfo::getCallPreservedMask().

By abandoning ImplicitDefs for call-clobbered registers, it also becomes
possible to share call instruction descriptions between calling
conventions, and we can get rid of the WINCALL* instructions.

This patch introduces the new operand kind.  Future patches will add
RegMask support to target-independent passes before finally the fixed
clobber lists can be removed from call instruction descriptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148250 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-16 19:22:00 +00:00
Joe Abbey
a0c1fc3bd3 Adding a Hexagon cell for segmented stacks, as they have been implemented for X86 and not Sparc...
Committed as obvious


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148237 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-16 13:16:05 +00:00
Duncan Sands
8d6796b796 Try to clarify a little how exception handling works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148136 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-13 19:59:16 +00:00
Bill Wendling
bf5b13d07e Revert accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148065 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-12 23:06:28 +00:00
Bill Wendling
86b1a7d614 Fix the code that was WRONG.
The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148064 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-12 23:05:03 +00:00
Eli Bendersky
0ff100dec0 Fix dead link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147721 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-07 04:11:27 +00:00
Eli Bendersky
30c90c973a test commit (verifyiing commit access)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147600 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-05 08:18:41 +00:00
Jakob Stoklund Olesen
d9e5c764bf Freeze reserved registers before starting register allocation.
The register allocators don't currently support adding reserved
registers while they are running.  Extend the MRI API to keep track of
the set of reserved registers when register allocation started.

Target hooks like hasFP() and needsStackRealignment() can look at this
set to avoid reserving more registers during register allocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147577 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-05 00:26:49 +00:00
Eric Christopher
5e33d21d7f Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147456 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03 18:38:37 +00:00
Duncan Sands
cf6bd5a7c3 Correct spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147435 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-02 16:55:01 +00:00
NAKAMURA Takumi
45ba16588d Happy new year 2012!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-01 08:16:56 +00:00
Nadav Rotem
859c645310 Update the LangRef documentation: the codegen does support this instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147274 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-25 21:32:35 +00:00
Nadav Rotem
7559766c63 Add a few lines to the release notes:
1. pointer-vector
2. type legalizer changes and vector-select
3. X86 ISA changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146964 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 08:02:50 +00:00
Dan Gohman
eb4c70b9c4 Add a line to ReleaseNotes for half float.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146939 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 01:10:56 +00:00
Jakob Stoklund Olesen
9897c622e0 Remove a register class that can just as well be synthesized.
Add the new TableGen register class synthesizer feature to the release
notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146875 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-19 16:53:40 +00:00
Dan Gohman
ce16339930 The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-17 00:04:22 +00:00
Eric Christopher
adfc1ef14a Fix spacing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146782 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16 23:42:35 +00:00
Eric Christopher
402e12a2f3 Update documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146781 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16 23:42:33 +00:00
Devang Patel
473f95febe Clarify and fix subprogram description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146743 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16 17:50:04 +00:00
Jakob Stoklund Olesen
f5bb45f895 Note ARM constant island alignment in the release notes.
The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146739 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16 16:07:41 +00:00
Evan Cheng
28681863af Add a blurb about MachineInstr bundling support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146603 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14 22:57:45 +00:00
Evan Cheng
2e9c7244b9 Add high level description of MachineInstr bundles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146589 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14 21:32:14 +00:00
Duncan Sands
20536b5bca Vectors are not aggregate types (see isAggregateType).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14 15:44:20 +00:00
Kostya Serebryany
1ff33e52c3 mention AddressSanitizer in 3.1 release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146505 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 19:46:24 +00:00
Chris Lattner
21e1b7a13c Rip llvm 3.0 out of the release notes, making room for LLVM 3.1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146493 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 17:55:30 +00:00
Bill Wendling
a349539f87 Use the example from clang, not the GCC frontend, which doesn't exist anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146461 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 01:07:07 +00:00
Daniel Dunbar
e5609abccb llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 22:45:59 +00:00
Daniel Dunbar
a3217165c6 llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146434 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 22:45:35 +00:00
Tony Linthicum
b4b54153ad Hexagon backend support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146412 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 21:14:40 +00:00
Daniel Dunbar
4ab406d7fc LLVMBuild: Remove trailing newline, which irked me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 19:48:00 +00:00
Chandler Carruth
48b0bbf930 Update the LangRef documentation for llvm.ctlz and llvm.cttz to specify
the behavior with the newly added flag for undefined results on a zero
input.

I'm terrible at documentation, so comments and suggestions welcome here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146361 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 04:36:04 +00:00
Bill Wendling
262396b644 Random cleanups. No description changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146288 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 22:41:40 +00:00
Bill Wendling
b583e42265 Revert r146041 et al. The FunctionPass doesn't take an address but the ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 19:11:02 +00:00
Chad Rosier
85f5a1ae39 Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146234 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 02:00:44 +00:00
Bill Wendling
996ff1469f Also pass in correct initializer here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146044 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07 18:18:11 +00:00
Bill Wendling
465becf481 Correct initializer in example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146041 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07 18:02:44 +00:00
Jakub Staszak
f8de54f37b Make Release Notes HTML 4.01 Strict.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145991 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 23:33:07 +00:00
Anshuman Dasgupta
6805b56e77 Add documentation for machine-independent DFA packetizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145988 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 23:12:42 +00:00
Jakub Staszak
44762ca82f Add link to builtin_expect in Release Notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145979 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 22:31:27 +00:00
Jakub Staszak
93e9d3abe5 Add link to llvm.expect in Release Notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145964 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 20:56:36 +00:00
Dan Gohman
e1a2984847 Fix a subtle semantic issue with poison values that came up in
recent discussions. Poison can't make every value that depends on
it act in maximally undefined ways, because the optimizer may still
hoist code following the usual rules for undef. Make Poison invoke
its full undefined behavior only when it reaches an instruction with
externally visible side effects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 03:35:58 +00:00
Dan Gohman
5cdc51ea7b Line up the comments in a code example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145908 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 03:31:14 +00:00
Dan Gohman
bfb056dccf Rename "Trap Values" to "Poison Values", to better reflect their
purpose, and to avoid ambiguity with other uses of the word "trap"
in LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145907 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06 03:18:47 +00:00
Bill Wendling
9bd5d044b7 Move 'returns_twice' definition into alphabetical place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145854 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05 21:27:54 +00:00
Nadav Rotem
1608769abe Add support for vectors of pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145801 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05 06:29:09 +00:00
Jakub Staszak
8e1b12ae68 Fix table of contents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145793 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-04 20:44:25 +00:00
Jakub Staszak
b170e2de83 Add 'llvm.expect' intrinsic description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145792 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-04 18:29:26 +00:00
Chris Lattner
9b15ba934c fix broken tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145590 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 17:25:28 +00:00