1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

4499 Commits

Author SHA1 Message Date
Seth Cantrell
f03dd0bf9f add to 3.1 release notes
llvm-svn: 156443
2012-05-08 23:34:38 +00:00
Daniel Dunbar
8e13944f35 Revert r156393, "[tests] Remove some remaining DejaGNU related cruft.", this
patch wasn't ready yet.

llvm-svn: 156395
2012-05-08 18:26:07 +00:00
Daniel Dunbar
882b236879 [tests] Remove some remaining DejaGNU related cruft.
llvm-svn: 156393
2012-05-08 18:11:49 +00:00
Daniel Dunbar
e86f226fbd [docs] Remove POD based man page docs (and build system support).
- Currently this leaves us with less build system support (e.g., installing man pages) for the docs than is desired. I'm working on fixing this, but it may take a while. If someone finds this particularly egregious let me know and I will prioritize it.

llvm-svn: 156389
2012-05-08 17:48:21 +00:00
Daniel Dunbar
1231cbed55 [docs] Add support for building man pages using Sphinx.
llvm-svn: 156386
2012-05-08 16:50:47 +00:00
Daniel Dunbar
cfbec482e1 [docs] Integrate the command guide into the toctree.
llvm-svn: 156385
2012-05-08 16:50:43 +00:00
Daniel Dunbar
1f3a59e29b [docs] Add ReST version of all the man pages.
- The POD versions are slated for execution, but are still around until
   llvm.org machinery is in place.

llvm-svn: 156384
2012-05-08 16:50:35 +00:00
Pete Cooper
653f818a23 Remove C Backend from the bugpoint docs
llvm-svn: 156333
2012-05-07 22:42:40 +00:00
Duncan Sands
6acda3147a Use correct variable in this example. Pointed out by waynix on IRC.
llvm-svn: 156067
2012-05-03 15:25:19 +00:00
Daniel Dunbar
b59a7d3009 [docs] Include the Kaleidescope tutorial in the Sphinx docs build.
llvm-svn: 156032
2012-05-02 22:46:36 +00:00
Eli Bendersky
d8b3eaee6d Removed examples of stack frame inspection which no longer work for old JIT.
Added an example of MCJIT-based debugging.

llvm-svn: 155895
2012-05-01 06:15:40 +00:00
Jim Grosbach
82bc1975d7 Remove a docs reference to the CBackend.
llvm-svn: 155716
2012-04-27 16:29:22 +00:00
Joerg Sonnenberger
33d3ecdf42 Add note about returns_twice magic removal from LLVM itself.
llvm-svn: 155657
2012-04-26 20:10:07 +00:00
Michael J. Spencer
fbbb8b9593 [CMake] Restructure how Clang, Polly and other external projects get included.
While making lld build under the tools directory I decided to refactor how this
works.

There is now a macro, add_llvm_external_project, which takes the name of the
expected subdirectory. This sets up two CMake options.

 * LLVM_EXTERNAL_${NAME}_SOURCE_DIR
     This is the path to the source. It defaults to
     ${CMAKE_CURRENT_SOURCE_DIR}/${name}.
 * LLVM_EXTERNAL_${NAME}_BUILD
     Enable and disable building the tool as part of LLVM.

I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the
GUI.

llvm-svn: 155654
2012-04-26 19:43:35 +00:00
Benjamin Kramer
36acdd4832 Reapply the SmallMap patch with a fix.
Comparing ~0UL with an unsigned will always return false when long is 64 bits long.

llvm-svn: 155568
2012-04-25 18:01:58 +00:00
Eric Christopher
d38d9bb28b Revert "First implementation of:"
This reverts commit 76271a3366731d4c372fdebcd8d3437e6e09a61b.

as it's breaking the bots.

llvm-svn: 155562
2012-04-25 17:51:00 +00:00
Stepan Dyatkovskiy
a580659b6c First implementation of:
- FlatArrayMap. Very simple map container that uses flat array inside.
- MultiImplMap. Map container interface, that has two modes, one for small amount of elements and one for big amount.
- SmallMap. SmallMap is DenseMap compatible MultiImplMap. It uses FlatArrayMap for small mode, and DenseMap for big mode. 

Also added unittests for new classes and update for ProgrammersManual.
For more details about new classes see ProgrammersManual and comments in sourcecode.

llvm-svn: 155557
2012-04-25 17:09:38 +00:00
Michael J. Spencer
21f40bf4cb [docs] Update version number. I suggest that at some point we make the
build system generate this file with the proper version.

llvm-svn: 155221
2012-04-20 19:28:40 +00:00
Joel Jones
0d5305ec9a Fix broken internal link.
llvm-svn: 155213
2012-04-20 18:20:24 +00:00
Joel Jones
03e6455a80 Add debugging hints for when bugpoint does not suffice, specifically for instcombine and TargetLowering
llvm-svn: 155209
2012-04-20 18:11:07 +00:00
Daniel Dunbar
d3c822f52e [docs] Update Makefile for images removal.
- Also, drop the lines.gif background from doxygen, this URL was wrong on the
   llvm.org server anyway.

llvm-svn: 155208
2012-04-20 17:27:12 +00:00
Benjamin Kramer
9845469d5a LLVM docs no longer contain images, don't try to install them.
llvm-svn: 155206
2012-04-20 17:14:26 +00:00
Joel Jones
dcf04118b2 Correct spelling, q.v. http://en.wikipedia.org/wiki/Bourne_shell
llvm-svn: 155202
2012-04-20 16:08:56 +00:00
Daniel Dunbar
669dd9e6f5 [docs] Remove spurious or unused images.
llvm-svn: 155199
2012-04-20 15:06:20 +00:00
Daniel Dunbar
edaa8a2cd7 [docs] Update HTML pages to refer to CSS in a way that works locally and with Sphinx.
llvm-svn: 155153
2012-04-19 20:20:34 +00:00
Daniel Dunbar
c4b3717b98 [docs] Remove index.html, I am flipping the switch on llvm.org.
llvm-svn: 155151
2012-04-19 20:06:39 +00:00
Michael J. Spencer
e6c28a171e 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.

llvm-svn: 155147
2012-04-19 19:27:54 +00:00
Daniel Dunbar
e5dee93704 [docs] Add back old index.html until I get llvm.org work done to support Sphinx docs.
llvm-svn: 155134
2012-04-19 16:37:30 +00:00
Daniel Dunbar
7facd81967 [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

llvm-svn: 155133
2012-04-19 16:31:37 +00:00
Daniel Dunbar
5a90abbbfc [docs] Stub out structure for Sphinx-based docs.
- Work in progress, this is just the basic structure.

llvm-svn: 155132
2012-04-19 16:31:19 +00:00
Jim Grosbach
392e7c7735 Document that StringMap iteration order is non-deterministic.
llvm-svn: 155040
2012-04-18 20:28:55 +00:00
Eli Bendersky
a95d542920 A bit of cleanup in the TestingGuide doc - dg.exp files no longer exist
llvm-svn: 154992
2012-04-18 08:02:25 +00:00
Eli Bendersky
893761e242 Some formatting and grammar fixes in the FileCheck documentation
llvm-svn: 154990
2012-04-18 07:44:03 +00:00
Chandler Carruth
fe63a4f42b Add a stub about the inline cost rewrite.
llvm-svn: 154892
2012-04-17 01:13:53 +00:00
Chandler Carruth
06871ea182 Add a stub for block placement pass. This needs fleshing out w/ details
about what folks should expect w.r.t. the new algorithm.

llvm-svn: 154891
2012-04-17 01:10:35 +00:00
Duncan Sands
70e8dd2978 Forgot to remove fast math metadata from the release notes.
llvm-svn: 154858
2012-04-16 20:51:39 +00:00
Duncan Sands
518668bd76 Remove support for the special 'fast' value for fpmath accuracy for the moment.
llvm-svn: 154850
2012-04-16 19:39:33 +00:00
Tobias Grosser
68d502462e Describe Polly as a 'Polyhedral Optimizer'
llvm-svn: 154834
2012-04-16 17:18:49 +00:00
Tobias Grosser
f33f842695 Add Polly news to the release notes
llvm-svn: 154833
2012-04-16 17:17:00 +00:00
Hal Finkel
8f9dfd5a0c Link to the autovectorization EuroLLVM slides in the release notes.
llvm-svn: 154830
2012-04-16 17:06:49 +00:00
Duncan Sands
f61d49df40 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.

llvm-svn: 154822
2012-04-16 16:28:59 +00:00
Eli Bendersky
b9e9796e6f Documentation fixes to LLVMBuild.html [PR 11563]
llvm-svn: 154804
2012-04-16 08:42:55 +00:00
Bill Wendling
3514c015bd Add credit and release notes for r150307. By Kai Nacke.
llvm-svn: 154796
2012-04-16 05:24:52 +00:00
Hal Finkel
4ac041693e Say something about -vectorize in the release notes.
llvm-svn: 154788
2012-04-16 03:49:43 +00:00
Jakub Staszak
64c3ee0cea Fix class name.
llvm-svn: 154773
2012-04-15 20:22:36 +00:00
Jakub Staszak
bde8ec16d4 Fix filename and register numbers.
llvm-svn: 154771
2012-04-15 20:13:47 +00:00
Duncan Sands
f6cbb0b2cb Add the MDBuilder helper class for conveniently creating metadata.
llvm-svn: 154766
2012-04-15 18:03:49 +00:00
Anshuman Dasgupta
68108fede2 Remove trailing whitespace.
llvm-svn: 154755
2012-04-14 20:59:13 +00:00
Anshuman Dasgupta
9c02269a1c Add VLIW packetizer to ReleaseNotes.html and CREDITS.TXT. Committing patch
by Sundeep Kushwaha.

llvm-svn: 154754
2012-04-14 20:57:13 +00:00
Brendon Cahoon
2284d72f57 Add the loop unrolling info to ReleaseNotes.html and CREDITS.TXT.
llvm-svn: 154752
2012-04-14 16:54:12 +00:00
Duncan Sands
40d080e3b7 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.

llvm-svn: 154744
2012-04-14 12:36:06 +00:00
Tony Linthicum
053413c3e8 Support for Hexagon backend.
llvm-svn: 154692
2012-04-13 19:09:44 +00:00
Anshuman Dasgupta
e3ba827561 Add DFA generator for VLIW targets to ReleaseNotes.html and CREDITS.TXT.
llvm-svn: 154590
2012-04-12 15:17:35 +00:00
Duncan Sands
f25460b85f 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.

llvm-svn: 154387
2012-04-10 08:22:43 +00:00
Duncan Sands
8e3bc166c4 Clarify that fpaccuracy metadata is giving the compiler permission to use a
less accurate method.

llvm-svn: 154319
2012-04-09 14:08:00 +00:00
Bill Wendling
791673b37e Formatting changes. Don't put spaces in front of some code, which only makes it look 'off'.
llvm-svn: 154282
2012-04-08 11:52:52 +00:00
NAKAMURA Takumi
1bfc716b7d 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.

llvm-svn: 154247
2012-04-07 02:24:20 +00:00
Eric Christopher
ba40985484 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

llvm-svn: 153916
2012-04-03 00:43:49 +00:00
Benjamin Kramer
36ded9fd1a Drop O4 from the llc manpage, it was removed in r70445.
llvm-svn: 153684
2012-03-29 20:40:18 +00:00
NAKAMURA Takumi
eb0805cb93 llvm/docs/*.html: Fix markups.
llvm-svn: 153508
2012-03-27 11:25:16 +00:00
Daniel Dunbar
45355bcdaa docs/lit: Add some notes on the lit test run output format.
llvm-svn: 153450
2012-03-26 18:01:14 +00:00
Eric Christopher
c3ea38275b Update documentation for old api changes.
Fixes PR12050

llvm-svn: 153424
2012-03-26 01:56:34 +00:00
Rafael Espindola
d76103a8b9 s/restrict/describe/
Thanks Duncan.

llvm-svn: 153411
2012-03-25 11:14:35 +00:00
Eli Bendersky
3ef88c1833 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

llvm-svn: 153408
2012-03-25 09:02:19 +00:00
Rafael Espindola
0be7a0a372 Add a small release not about the range metadata.
llvm-svn: 153391
2012-03-24 19:02:32 +00:00
Rafael Espindola
277fa2bfe2 First part of PR12251. Add documentation and verifier support for the range
metadata.

llvm-svn: 153359
2012-03-24 00:14:51 +00:00
Eric Christopher
3839c1ffd3 Remove the C backend.
llvm-svn: 153307
2012-03-23 05:50:46 +00:00
Nick Lewycky
de9ce7ba17 Explicitly close optionally closed <li> tags.
llvm-svn: 153296
2012-03-23 00:56:26 +00:00
Nick Lewycky
3040cab7d6 Add a release note for r145714.
llvm-svn: 153224
2012-03-21 22:58:28 +00:00
Nick Lewycky
bc6d9e5b06 This clause (although matching parts of the implementation) can't be correct.
Thanks to Eli for noticing the discrepancy.

llvm-svn: 153011
2012-03-18 09:35:50 +00:00
Chris Lattner
b39bdf2c78 clarify the coding standards a bit.
llvm-svn: 152957
2012-03-16 22:34:37 +00:00
Daniel Dunbar
0b7c5724dc docs: Update TestingGuide to change recommended practice to using LNT to drive
the test-suite.

llvm-svn: 152860
2012-03-15 22:19:35 +00:00
Eli Bendersky
82ab8555da Some typos in lit command guide
llvm-svn: 152712
2012-03-14 11:34:19 +00:00
Bill Wendling
fc434ffc82 Update the "hello world" example to resemble what we currently output.
Also do some minor reformatting.

llvm-svn: 152707
2012-03-14 08:07:43 +00:00
Eli Bendersky
46208fcc86 Typo in lit command guide
llvm-svn: 152702
2012-03-14 06:09:20 +00:00
Eli Bendersky
18a6065211 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

llvm-svn: 152620
2012-03-13 08:33:15 +00:00
Bill Wendling
2e6d007434 Add column width.
llvm-svn: 152115
2012-03-06 09:23:25 +00:00
Bill Wendling
21eade38c2 Remove short tag marker.
llvm-svn: 152114
2012-03-06 09:22:03 +00:00
Bill Wendling
b04d2f31ce Appease the HTML validation gods.
llvm-svn: 152113
2012-03-06 09:20:59 +00:00
Bill Wendling
20e20f4af0 Fix validation errors.
llvm-svn: 152112
2012-03-06 09:17:39 +00:00
Bill Wendling
14bc5fe306 Fix validation errors.
llvm-svn: 152111
2012-03-06 09:17:04 +00:00
Bill Wendling
cd79906a9b Add missing end tags.
llvm-svn: 152110
2012-03-06 08:59:13 +00:00
Eric Christopher
fec0accf3d Fix up link and a couple small edits.
llvm-svn: 152094
2012-03-06 02:25:41 +00:00
Eric Christopher
258d2080f5 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.

llvm-svn: 152093
2012-03-06 02:25:38 +00:00
Eric Christopher
7e92b59264 Delete trailing whitespace to clean up.
llvm-svn: 152092
2012-03-06 02:25:36 +00:00
NAKAMURA Takumi
7785cff968 llvm/docs/GarbageCollection.html: Prune utf8 BOM.
llvm-svn: 151968
2012-03-03 04:32:33 +00:00
Jia Liu
52415c2967 add llvm.gcroot into GarbageCollection.html, patch bylost lostfreeman@gmail.com.
llvm-svn: 151908
2012-03-02 11:30:51 +00:00
Jia Liu
d95fe4d1fa rplace Alpha with ARM in docs/WritingAnLLVMBackend.html, patch by chenwj
llvm-svn: 151811
2012-03-01 15:14:19 +00:00
Nick Lewycky
d3435f85b4 Where the alloca'd space actually lives in ram is undefined, and attempting to
pin it down is undefined behaviour.

llvm-svn: 151710
2012-02-29 08:26:44 +00:00
Craig Topper
ae4e236c50 Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.
llvm-svn: 151513
2012-02-27 02:31:09 +00:00
Chad Rosier
3c578aa81b Remove more GCC FE build stuff.
llvm-svn: 151507
2012-02-26 22:26:37 +00:00
Chad Rosier
9457d2b63a Installing the GCC front end is no longer supported.
llvm-svn: 151506
2012-02-26 22:17:05 +00:00
Chad Rosier
cb11644ed8 Cleanup the LLVM Getting Started page.
llvm-svn: 151505
2012-02-26 22:12:59 +00:00
Chad Rosier
9458712b9a Add href to clang in overview.
llvm-svn: 151503
2012-02-26 21:34:02 +00:00
Chad Rosier
d8384abc3c Remove references to llvm-gcc from overview and tutorial.
llvm-svn: 151502
2012-02-26 21:31:25 +00:00
Nadav Rotem
8ce0029942 Add a random .LL file generator to stress-test different llvm components.
llvm-svn: 151479
2012-02-26 08:35:53 +00:00
Jim Grosbach
91a77a9ddb Release not for ARM integrated assembler support.
llvm-svn: 151308
2012-02-23 23:52:06 +00:00
Chad Rosier
af1ee4da6c Typo.
llvm-svn: 151302
2012-02-23 23:21:22 +00:00
Chad Rosier
403f29c9c4 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.

llvm-svn: 151285
2012-02-23 21:23:24 +00:00
Chris Lattner
41b0f77dbb libclc is now dual licensed, Tobias and Peter own their respective subprojects.
llvm-svn: 151186
2012-02-22 19:17:20 +00:00
David Greene
7cabd2e787 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.

llvm-svn: 151164
2012-02-22 16:09:41 +00:00
Jakob Stoklund Olesen
3b18c7d900 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.

llvm-svn: 151110
2012-02-22 00:56:08 +00:00
Chad Rosier
617f581b49 Fix documentation.
llvm-svn: 150860
2012-02-18 01:38:41 +00:00
Jakob Stoklund Olesen
cb44c598a2 Note x86 regmask operands in release notes.
llvm-svn: 150712
2012-02-16 18:22:39 +00:00
Bill Wendling
d5ffd1424b Add blurb about module flags and reformat a bit.
llvm-svn: 150677
2012-02-16 10:23:43 +00:00
Bill Wendling
395d7dee0e 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

llvm-svn: 150646
2012-02-16 01:10:50 +00:00
Daniel Dunbar
81ccdef572 utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know).
llvm-svn: 150610
2012-02-15 19:24:11 +00:00
Bill Wendling
55933f75ab Document the new module flags.
llvm-svn: 150301
2012-02-11 11:59:36 +00:00
Pete Cooper
57c51010db Added description of invariant.load metadata to LangRef. It was added to the compiler in r144100
llvm-svn: 150257
2012-02-10 18:13:54 +00:00
Jia Liu
035a90c9ec update --enable-targets list
llvm-svn: 150229
2012-02-10 04:58:24 +00:00
Devang Patel
c4b407c311 Now subprogram descriptors are not collected by llvm.dbg.sp NamedMDNode. Update document to reflect this change.
llvm-svn: 150187
2012-02-09 17:34:01 +00:00
Chris Lattner
eaaee90a17 fix broken link
llvm-svn: 150105
2012-02-08 22:20:00 +00:00
Chris Lattner
9cb250a113 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.

llvm-svn: 150065
2012-02-08 07:58:38 +00:00
Chris Lattner
1c0f1d4d1f add an explicit section on static constructors.
llvm-svn: 150037
2012-02-08 01:44:00 +00:00
Bill Wendling
cd6addef26 Rephrase to add clarity.
llvm-svn: 149972
2012-02-07 08:42:29 +00:00
Bill Wendling
9e07368007 Document the 'unwind' removal.
llvm-svn: 149914
2012-02-06 21:59:44 +00:00
Bill Wendling
c0985aa29f [unwind removal] Remove any mention of the 'unwind' instruction. What was that
instruction anyway?!

llvm-svn: 149913
2012-02-06 21:57:33 +00:00
Devang Patel
bf38fa24e7 Update docs describing objective-c property encoding. This includes support for properties that are not backed by an ivar.
llvm-svn: 149879
2012-02-06 18:18:25 +00:00
Bill Wendling
a496f94d12 Mention that the 'unwind' instruction is now deprecated.
llvm-svn: 149876
2012-02-06 17:58:34 +00:00
Eli Bendersky
33bdce0fd3 Fix typo and broken link
llvm-svn: 149820
2012-02-05 11:17:49 +00:00
Eli Bendersky
9d93af489b Add missing paren
llvm-svn: 149817
2012-02-05 09:21:25 +00:00
Hal Finkel
8cf5de5774 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).

llvm-svn: 149468
2012-02-01 03:51:43 +00:00
Dan Gohman
8be3999ea3 basic-aa does support AliasAnalysis chaining now.
llvm-svn: 149293
2012-01-30 23:05:41 +00:00
Talin
d6b8c10155 DenseMap::find_as() and unit tests.
llvm-svn: 149229
2012-01-30 06:55:43 +00:00
Jim Grosbach
84b2fe36c8 Tidy up. s/Low Level Virtual Machine/LLVM/.
LLVM isn't an acronym anymore.

llvm-svn: 148985
2012-01-25 22:00:23 +00:00
Nick Lewycky
ccdb5138b7 Fix broken link.
llvm-svn: 148692
2012-01-23 08:47:21 +00:00
Kostya Serebryany
b37a1263e1 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.

llvm-svn: 148553
2012-01-20 17:56:17 +00:00
Chad Rosier
ce02cd3faa Fix typo.
llvm-svn: 148497
2012-01-19 21:50:08 +00:00
Jakob Stoklund Olesen
77ce60119b 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.

llvm-svn: 148250
2012-01-16 19:22:00 +00:00
Joe Abbey
f61ffb3134 Adding a Hexagon cell for segmented stacks, as they have been implemented for X86 and not Sparc...
Committed as obvious

llvm-svn: 148237
2012-01-16 13:16:05 +00:00
Duncan Sands
5a44c5a303 Try to clarify a little how exception handling works.
llvm-svn: 148136
2012-01-13 19:59:16 +00:00
Bill Wendling
18abc22050 Revert accidental commit.
llvm-svn: 148065
2012-01-12 23:06:28 +00:00
Bill Wendling
ce528914e7 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.

llvm-svn: 148064
2012-01-12 23:05:03 +00:00
Eli Bendersky
af558b888a Fix dead link
llvm-svn: 147721
2012-01-07 04:11:27 +00:00
Eli Bendersky
161651f80a test commit (verifyiing commit access)
llvm-svn: 147600
2012-01-05 08:18:41 +00:00
Jakob Stoklund Olesen
a33612c1f2 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.

llvm-svn: 147577
2012-01-05 00:26:49 +00:00
Eric Christopher
173e9e8cf2 Fix typo.
llvm-svn: 147456
2012-01-03 18:38:37 +00:00
Duncan Sands
ec8ede7bf4 Correct spelling.
llvm-svn: 147435
2012-01-02 16:55:01 +00:00
NAKAMURA Takumi
ad71e57658 Happy new year 2012!
llvm-svn: 147395
2012-01-01 08:16:56 +00:00
Nadav Rotem
7898dcf3bb Update the LangRef documentation: the codegen does support this instruction.
llvm-svn: 147274
2011-12-25 21:32:35 +00:00
Nadav Rotem
682f1c2187 Add a few lines to the release notes:
1. pointer-vector
2. type legalizer changes and vector-select
3. X86 ISA changes.

llvm-svn: 146964
2011-12-20 08:02:50 +00:00
Dan Gohman
80dc86c550 Add a line to ReleaseNotes for half float.
llvm-svn: 146939
2011-12-20 01:10:56 +00:00
Jakob Stoklund Olesen
7b1b08eb77 Remove a register class that can just as well be synthesized.
Add the new TableGen register class synthesizer feature to the release
notes.

llvm-svn: 146875
2011-12-19 16:53:40 +00:00
Dan Gohman
9c8c9a8f62 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).

llvm-svn: 146786
2011-12-17 00:04:22 +00:00
Eric Christopher
3c533091a7 Fix spacing.
llvm-svn: 146782
2011-12-16 23:42:35 +00:00
Eric Christopher
598f7d7c76 Update documentation.
llvm-svn: 146781
2011-12-16 23:42:33 +00:00
Devang Patel
59f6d6e2d1 Clarify and fix subprogram description.
llvm-svn: 146743
2011-12-16 17:50:04 +00:00
Jakob Stoklund Olesen
3d0382e29d 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.

llvm-svn: 146739
2011-12-16 16:07:41 +00:00
Evan Cheng
638936d9cb Add a blurb about MachineInstr bundling support.
llvm-svn: 146603
2011-12-14 22:57:45 +00:00
Evan Cheng
1dcc7d089e Add high level description of MachineInstr bundles.
llvm-svn: 146589
2011-12-14 21:32:14 +00:00
Duncan Sands
1de7ae0e43 Vectors are not aggregate types (see isAggregateType).
llvm-svn: 146561
2011-12-14 15:44:20 +00:00
Kostya Serebryany
4579e0c874 mention AddressSanitizer in 3.1 release notes
llvm-svn: 146505
2011-12-13 19:46:24 +00:00
Chris Lattner
e407984265 Rip llvm 3.0 out of the release notes, making room for LLVM 3.1
llvm-svn: 146493
2011-12-13 17:55:30 +00:00
Bill Wendling
b61c025aa2 Use the example from clang, not the GCC frontend, which doesn't exist anymore.
llvm-svn: 146461
2011-12-13 01:07:07 +00:00
Daniel Dunbar
a16a63f190 llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

llvm-svn: 146437
2011-12-12 22:45:59 +00:00
Daniel Dunbar
ecff3756fa llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

llvm-svn: 146434
2011-12-12 22:45:35 +00:00
Tony Linthicum
61adbf8dc5 Hexagon backend support
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
Daniel Dunbar
30d6a45140 LLVMBuild: Remove trailing newline, which irked me.
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Chandler Carruth
b0340663fe 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.

llvm-svn: 146361
2011-12-12 04:36:04 +00:00
Bill Wendling
4f3e4c6380 Random cleanups. No description changes.
llvm-svn: 146288
2011-12-09 22:41:40 +00:00
Bill Wendling
5a91169c03 Revert r146041 et al. The FunctionPass doesn't take an address but the ID.
llvm-svn: 146268
2011-12-09 19:11:02 +00:00
Chad Rosier
00721ab85b Typo.
llvm-svn: 146234
2011-12-09 02:00:44 +00:00
Bill Wendling
31110c8c27 Also pass in correct initializer here.
llvm-svn: 146044
2011-12-07 18:18:11 +00:00
Bill Wendling
e335d0861c Correct initializer in example.
llvm-svn: 146041
2011-12-07 18:02:44 +00:00
Jakub Staszak
1f05c26ed0 Make Release Notes HTML 4.01 Strict.
llvm-svn: 145991
2011-12-06 23:33:07 +00:00
Anshuman Dasgupta
d2971cca39 Add documentation for machine-independent DFA packetizer
llvm-svn: 145988
2011-12-06 23:12:42 +00:00
Jakub Staszak
5fd1d873c7 Add link to builtin_expect in Release Notes.
llvm-svn: 145979
2011-12-06 22:31:27 +00:00
Jakub Staszak
e109ff236b Add link to llvm.expect in Release Notes.
llvm-svn: 145964
2011-12-06 20:56:36 +00:00
Dan Gohman
02bdcdd326 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.

llvm-svn: 145913
2011-12-06 03:35:58 +00:00
Dan Gohman
7d881a178c Line up the comments in a code example.
llvm-svn: 145908
2011-12-06 03:31:14 +00:00
Dan Gohman
db3a5dbdb5 Rename "Trap Values" to "Poison Values", to better reflect their
purpose, and to avoid ambiguity with other uses of the word "trap"
in LangRef.

llvm-svn: 145907
2011-12-06 03:18:47 +00:00
Bill Wendling
77e127d56f Move 'returns_twice' definition into alphabetical place.
llvm-svn: 145854
2011-12-05 21:27:54 +00:00
Nadav Rotem
1a91e4381d Add support for vectors of pointers.
llvm-svn: 145801
2011-12-05 06:29:09 +00:00
Jakub Staszak
2941ddc16d Fix table of contents.
llvm-svn: 145793
2011-12-04 20:44:25 +00:00
Jakub Staszak
01c388c624 Add 'llvm.expect' intrinsic description.
llvm-svn: 145792
2011-12-04 18:29:26 +00:00
Chris Lattner
7592e96900 fix broken tag
llvm-svn: 145590
2011-12-01 17:25:28 +00:00
Bill Wendling
a51c3c5a01 More cleanups. No content change.
llvm-svn: 145522
2011-11-30 21:52:43 +00:00
Bill Wendling
35f43aae70 Minor cleanup. No content change.
llvm-svn: 145521
2011-11-30 21:43:43 +00:00
Bill Wendling
2d1421e389 Remove an XXX which hasn't been fixed yet. It's too late now.
llvm-svn: 145518
2011-11-30 20:53:52 +00:00
Duncan Sands
54ca22353a Mention that -O4 does result in more optimization when used with
-fplugin-arg-dragonegg-enable-gcc-optzns, though it usually isn't
a win.

llvm-svn: 145486
2011-11-30 08:46:05 +00:00
Eric Christopher
58dc4573db Update the docs for some of the test-suite configure changes and
be more clear about what to do and how to do it.

llvm-svn: 145426
2011-11-29 19:40:56 +00:00
Rafael Espindola
90c572b822 grammar.
llvm-svn: 145423
2011-11-29 19:38:09 +00:00
Benjamin Kramer
0cf194e55c Add a link to Bill's blog post.
llvm-svn: 145419
2011-11-29 19:24:11 +00:00
Rafael Espindola
8e06adec06 Release notes for segmented stacks.
Patch by Sanjoy Das.

llvm-svn: 145416
2011-11-29 19:08:23 +00:00
Peter Collingbourne
1dac65bf58 Remove content that has been moved to Clang release notes.
llvm-svn: 145362
2011-11-29 02:04:48 +00:00
Peter Collingbourne
70d1e1ce8f Fix grammar.
llvm-svn: 145361
2011-11-29 02:04:44 +00:00
Chandler Carruth
6bf1babd92 Add a link from the LLVM release notes to the Clang release notes.
I suspect we could profitably remove/move some of the bullet points
under Clang here to the Clang notes in order to keep things clean on
both sides. Unless I hear objections I'll start doing that once folks
have read over the Clang notes a bit.

llvm-svn: 145340
2011-11-29 00:32:43 +00:00
Rafael Espindola
1928474c5f Expand the part about CFI a bit.
llvm-svn: 145324
2011-11-28 23:55:49 +00:00
Devang Patel
792ac21c3f Add documentation for llvm-cov.
llvm-svn: 145319
2011-11-28 23:39:25 +00:00
Joe Abbey
3ab17e44c2 Merging two bullet points into one
llvm-svn: 145287
2011-11-28 22:07:12 +00:00
Peter Collingbourne
a45a429eec Add OpenCL blurb to release notes.
llvm-svn: 145270
2011-11-28 20:04:12 +00:00
Bill Wendling
8beab76b07 Remove dead llvm.eh.sjlj.dispatchsetup intrinsic.
llvm-svn: 145263
2011-11-28 19:23:13 +00:00
Michael J. Spencer
fd893a8f83 Add object file related release notes.
llvm-svn: 145254
2011-11-28 18:20:09 +00:00
Jakob Stoklund Olesen
a5deae0dad Explain what ExeDepsFix does.
llvm-svn: 145253
2011-11-28 18:03:11 +00:00
Rafael Espindola
d23ec28d82 Fix spelling/grammar errors found by Duncan.
llvm-svn: 145250
2011-11-28 17:06:58 +00:00
Jakob Stoklund Olesen
42499e2fe5 Add a blurb about the new ExecutionDepsFix pass.
llvm-svn: 145220
2011-11-28 01:46:19 +00:00
Chris Lattner
586730bca4 dwarf parsing stuff.
llvm-svn: 145207
2011-11-27 22:39:23 +00:00
Chris Lattner
2ad1c42ff1 first pass of writing complete!
llvm-svn: 145206
2011-11-27 22:36:22 +00:00
Chris Lattner
a2b28b7223 arm and carve out a place ot mention segmented stacks.
llvm-svn: 145204
2011-11-27 22:12:32 +00:00
Rafael Espindola
ae1e153b00 Add a description of the status of segmented stacks.
llvm-svn: 145201
2011-11-27 22:05:46 +00:00