1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
Commit Graph

3780 Commits

Author SHA1 Message Date
Devang Patel
4fca0435b3 Fix compile unit in example. Thanks Renato Golin!
llvm-svn: 108246
2010-07-13 16:53:20 +00:00
Benjamin Kramer
9af04e360e HTML cleanup and validation.
llvm-svn: 108239
2010-07-13 12:26:09 +00:00
Duncan Sands
710b57b4b1 When doing sext/zext of constants, the target type must be strictly
wider than the source type.  Correct LangRef.

llvm-svn: 108238
2010-07-13 12:06:14 +00:00
Jakob Stoklund Olesen
a28aa26057 Remove TargetInstrInfo::copyRegToReg entirely.
Targets must now implement TargetInstrInfo::copyPhysReg instead. There is no
longer a default implementation forwarding to copyRegToReg.

llvm-svn: 108095
2010-07-11 17:01:17 +00:00
Dan Gohman
226e208014 sdiv overflow is outright undefined behavior, with or without the
'exact' keyword. Thanks to nlewycky for pointing this out!

llvm-svn: 108064
2010-07-11 00:08:34 +00:00
Duncan Sands
896788595d Tweak some docs now that the default build is called Debug+Asserts.
llvm-svn: 107862
2010-07-08 08:27:18 +00:00
Reid Kleckner
65635f9231 Update the docs for debugging JITed code with GDB.
llvm-svn: 107808
2010-07-07 20:16:45 +00:00
Dan Gohman
2a08e2ce81 Remove interprocedural-basic-aa and associated code. The AliasAnalysis
interface needs implementations to be consistent, so any code which
wants to support different semantics must use a different interface.
It's not currently worthwhile to add a new interface for this new
concept.

Document that AliasAnalysis doesn't support cross-function queries.

llvm-svn: 107776
2010-07-07 14:27:09 +00:00
Duncan Sands
eb15d2084a Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"
builds to "Release".  The default build is unchanged (optimization on,
assertions on), however it is now called Release+Asserts.  The intent
is that future LLVM releases released via llvm.org will be Release builds
in the new sense, i.e. will have assertions disabled (currently they have
assertions enabled, for a more than 20% slowdown).  This will bring them
in line with MacOS releases, which ship with assertions disabled.  It also
means that "Release" now means the same things in make and cmake builds:
cmake already disables assertions for "Release" builds AFAICS.

llvm-svn: 107758
2010-07-07 07:48:00 +00:00
John McCall
a59e143fec Closing tags start with slashes.
llvm-svn: 107699
2010-07-06 21:07:14 +00:00
Chris Lattner
3139b75beb minor typo
llvm-svn: 107696
2010-07-06 20:51:35 +00:00
Nick Lewycky
529cb5fcd1 Alphabetize the list of function parameters.
llvm-svn: 107680
2010-07-06 18:24:09 +00:00
Duncan Sands
31db6c2247 Bring the list of passes and their descriptions up to date.
Patch by Kenneth Hoste.

llvm-svn: 107669
2010-07-06 15:52:15 +00:00
Dan Gohman
33f0f11376 Note the relationship between C99 restrict and LLVM noalias, and
clarify a few other things.

llvm-svn: 107659
2010-07-06 15:26:33 +00:00
Chris Lattner
58791300a3 indmemrem and lowerallocs are gone.
llvm-svn: 107587
2010-07-04 17:36:43 +00:00
Dan Gohman
de933eddb5 Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.

llvm-svn: 107546
2010-07-02 23:52:36 +00:00
Dan Gohman
4848c9631b Describe which dependencies are relevant to noalias, and document how
AliasAnalyses have the choice to respect noalias.

llvm-svn: 107544
2010-07-02 23:46:54 +00:00
Dan Gohman
7a6a35dbf7 Add some html anchors, to allow attributes to be linked to directly.
llvm-svn: 107538
2010-07-02 23:18:08 +00:00
Dan Gohman
04beeefa61 Reword the definition of the noalias attribute. The intention is for
the noalias argument on function attributes be usable to model the
C99 restrict keyword on arguments, and to allow AliasAnalysis to
consider a noalias-attributed argument to be an "identified object".

To support this, refactor a new "based on" concept out of the current
pointer aliasing "associated" concept. This "based on" concept is very
similar to (though it is not identical with) the "based on" concept
in C99.

Also, reword the definition of NoAlias to more closely describe the
concept that the optimizer uses.

llvm-svn: 107495
2010-07-02 18:41:32 +00:00
Bill Wendling
90b6422f2f Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

      .globl l_objc_msgSend_fixup_alloc
      .weak_definition l_objc_msgSend_fixup_alloc
      .section __DATA, __objc_msgrefs, coalesced
      .align 3
l_objc_msgSend_fixup_alloc:
       .quad   _objc_msgSend_fixup
       .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.

llvm-svn: 107433
2010-07-01 21:55:59 +00:00
Bill Wendling
59ef9bcc6d Revert r107205 and r107207.
llvm-svn: 107215
2010-06-29 22:34:52 +00:00
Bill Wendling
462de20dd8 Improve explanation.
llvm-svn: 107207
2010-06-29 21:41:58 +00:00
Bill Wendling
05a4c0b1f2 Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

       .globl l_objc_msgSend_fixup_alloc
       .weak_definition l_objc_msgSend_fixup_alloc
       .section __DATA, __objc_msgrefs, coalesced
       .align 3
l_objc_msgSend_fixup_alloc:
        .quad   _objc_msgSend_fixup
        .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

llvm-svn: 107205
2010-06-29 21:24:00 +00:00
Dan Gohman
ccdfbe251d Add a blurb about -scev-aa.
llvm-svn: 107080
2010-06-28 22:09:52 +00:00
Dan Gohman
47d999b275 Document problems that I encountered when working on -scev-aa.
llvm-svn: 106776
2010-06-24 19:34:03 +00:00
Chris Lattner
d7df3e9c5c This makes example Makefile a lot more like actual
lib/Transforms/Hello/Makefile, and prevents a lot of errors like "Assertion
`Inserted && "Pass registered multiple times!"' failed"

Patch by Gregory Petrosyan!

llvm-svn: 106471
2010-06-21 20:36:09 +00:00
Eric Christopher
68b77d45c2 Remove isTwoAddress from llvm.
llvm-svn: 106470
2010-06-21 20:35:09 +00:00
Chris Lattner
e636df7c0b fix typos reported by Adam Warner!
llvm-svn: 106468
2010-06-21 20:31:30 +00:00
Eric Christopher
b04dbfd059 Another typo.
llvm-svn: 106340
2010-06-18 22:51:25 +00:00
Eric Christopher
9f949b1c6a Fix typo.
llvm-svn: 106335
2010-06-18 22:33:17 +00:00
Bruno Cardoso Lopes
71ad64af39 Teach tablegen how to inherit from classes in 'defm' definitions.
The rule is simple: only inherit from a class list if they come
in the end, after the last multiclass.

llvm-svn: 106305
2010-06-18 19:53:41 +00:00
Dan Gohman
40c17ca0db Minor clarification.
llvm-svn: 106234
2010-06-17 19:23:50 +00:00
Bruno Cardoso Lopes
e05b953fcd For a tablegen expression such as !if(a,b,c), let 'a'
be evaluated for 'bit' operators

llvm-svn: 106185
2010-06-17 00:31:36 +00:00
Bruno Cardoso Lopes
de4632839c let the '!eq' expression support 'int' and 'bit' types
llvm-svn: 106171
2010-06-16 23:24:12 +00:00
Jakob Stoklund Olesen
7fe0620525 Remove the local register allocator.
Please use the fast allocator instead.

llvm-svn: 106051
2010-06-15 21:58:33 +00:00
Eric Christopher
0cd970d60b Update html tutorial docs to match api changes.
llvm-svn: 105933
2010-06-14 06:09:39 +00:00
Bruno Cardoso Lopes
3a2d3b60e1 Teach tablegen to allow "let" expressions inside multiclasses,
providing more ways to factor out commonality from the records.

llvm-svn: 105776
2010-06-10 02:42:59 +00:00
Bruno Cardoso Lopes
b811561aac Teach tablegen to support 'defm' inside multiclasses.
llvm-svn: 105519
2010-06-05 02:11:52 +00:00
Devang Patel
65088cc742 Update docs to reflect new DISubprogram elements.
llvm-svn: 105495
2010-06-04 22:49:55 +00:00
Rafael Espindola
549ef36984 Update the documentation, getCalleeSavedRegClasses is not required anymore.
llvm-svn: 105323
2010-06-02 14:03:11 +00:00
Nick Lewycky
2896d590c0 Document aggregate operation constant expressions.
llvm-svn: 105098
2010-05-29 06:44:15 +00:00
Dale Johannesen
3dde3fe642 Fix Data Layout description of floating point.
llvm-svn: 104993
2010-05-28 18:54:47 +00:00
Dan Gohman
5e04f2df0b Fix more whitespace to be consistent with AsmPrinter.
llvm-svn: 104963
2010-05-28 17:13:49 +00:00
Dan Gohman
49590bf7cd Fix whitespace to be more consistent with AsmPrinter's style.
llvm-svn: 104962
2010-05-28 17:07:41 +00:00
Dan Gohman
bcee12027f Eliminate the restriction that the array size in an alloca must be i32.
This will help reduce the amount of casting required on 64-bit targets.

llvm-svn: 104911
2010-05-28 01:14:11 +00:00
Dan Gohman
bbac7ffe10 Fix a missing quote.
llvm-svn: 104750
2010-05-26 21:56:15 +00:00
Jim Grosbach
09ab258054 Add entry for llvm.eh.sjlj.longjmp. PR4999.
llvm-svn: 104703
2010-05-26 16:21:41 +00:00
Chris Lattner
d96398e6b4 expand on the llvm ir bitcode dox. Patch by Peter Housel!
llvm-svn: 104391
2010-05-21 22:20:54 +00:00
Tobias Grosser
52e991f3dd Update autoconf/automake versions in the documentation to match the versions used in Autogen.sh
llvm-svn: 104113
2010-05-19 07:00:17 +00:00
Duncan Sands
7d5e4152c3 I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it
to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is
the opposite, for future use by dragonegg.

llvm-svn: 103495
2010-05-11 20:16:09 +00:00
Daniel Dunbar
2b45036b3b Test commit.
llvm-svn: 103479
2010-05-11 17:22:45 +00:00
Tanya Lattner
0b1b95f2c1 Test commit.
llvm-svn: 103478
2010-05-11 16:47:42 +00:00
Tanya Lattner
2cc9bc56c9 Test commit.
llvm-svn: 103477
2010-05-11 16:46:45 +00:00
Tobias Grosser
1961507018 Document graphviz passes for the (post) dominator tree.
Add documentation for:
  -dot-dom
  -dot-dom-only
  -dot-postdom
  -dot-postdom-only
  -view-dom
  -view-dom-only
  -view-postdom
  -view-postdom-only

llvm-svn: 103251
2010-05-07 09:33:18 +00:00
mike-m
3baf2ffb17 Revert r103213. It broke several sections of live website.
llvm-svn: 103219
2010-05-07 00:28:04 +00:00
mike-m
a39025f688 Disable man->postscript and man->pdf doc generation unless explicitly
configured via --enable-doxygen. It seems some systems have broken pdfroff
so automatic use of it is not safe.

llvm-svn: 103217
2010-05-07 00:13:23 +00:00
mike-m
577b76fa16 Cleanup unneeded dirs after docs overhaul.
llvm-svn: 103215
2010-05-06 23:48:37 +00:00
mike-m
6b8861e9f6 Overhauled llvm/clang docs builds. Closes PR6613.
NOTE: 2nd part changeset for cfe trunk to follow.

*** PRE-PATCH ISSUES ADDRESSED

- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
  assumptions and make use of absolute root in static html files;
  namely CommandGuide tools hard codes a website destination
  for cross references and some html cross references assume
  website root paths

*** IMPROVEMENTS

- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
  if any target (or any variable is evaluated) which attempts
  to remove any dirs which match a hard-coded 'safelist', a verbose
  error will be printed and make will error-stop.

llvm-svn: 103213
2010-05-06 23:45:43 +00:00
Chris Lattner
9a067dd51f Fix some ..'s
llvm-svn: 103134
2010-05-05 23:29:09 +00:00
Chris Lattner
b8bb38be5f one more thing.
llvm-svn: 103024
2010-05-04 18:16:00 +00:00
Chris Lattner
02f4f138bd update instructions for llvm-gcc4, the brave new world! PR7037
llvm-svn: 103023
2010-05-04 18:15:33 +00:00
Dan Gohman
0f6577e194 Update one more 2.7 to 2.8.
llvm-svn: 102978
2010-05-03 23:52:21 +00:00
Dan Gohman
43994b8cf0 Minimally update ReleaseNotes.html for 2.8 development; uncomment and
update the big red warning at the top. Most of the old content remains
and awaits revision.

Clear out the API changes section, and start it up again with a
mention of the add->fadd transition.

llvm-svn: 102977
2010-05-03 23:51:05 +00:00
Dan Gohman
85561664d5 Update this comment to note its relationship with the "happens-before"
concept in the proposed memory model changes.

llvm-svn: 102911
2010-05-03 14:59:34 +00:00
Dan Gohman
62ea5f981d Delete this comment. The behavior of struct loads and stores with
respect to padding bytes isn't something that the dependence text
needs to spell out.

llvm-svn: 102910
2010-05-03 14:58:14 +00:00
Dan Gohman
cb5781826c Describe invoke instruction dependencies. Generalize the text for
terminator instructions so that it applies to all terminators with
multiple successors, including invoke.

llvm-svn: 102909
2010-05-03 14:55:22 +00:00
Dan Gohman
55e93b2802 Say "operations" instead of "instructions", as nsw can be applied to
constant expressions as well as instructions.

llvm-svn: 102908
2010-05-03 14:51:43 +00:00
Duncan Sands
153ad3b903 Remove the -enable-sjlj-eh option, which doesn't do anything.
Remove the -enable-eh option which is only used by the JIT,
and replace it with -jit-enable-eh.

llvm-svn: 102865
2010-05-02 15:36:26 +00:00
David Chisnall
8bcbd32d28 Fixed @ctor / @dtor the wrong way around in last commit.
llvm-svn: 102741
2010-04-30 19:27:35 +00:00
David Chisnall
976f45eac9 Added a brief explanation of @llvm.global_{c,d}tors.
llvm-svn: 102740
2010-04-30 19:23:49 +00:00
Dan Gohman
9a9dc98868 Rewrite the section on trap values to contain a generic description
of dependence and define trap values in terms of dependence, instead
of trying to cover the concept with a flurry of ad-hoc rules.

The dependence model isn't complete yet, but it's already much more
rigorous than the description it replaces.

llvm-svn: 102479
2010-04-28 00:49:41 +00:00
Dan Gohman
f8eeafd9f1 Fix spelling errors.
llvm-svn: 102478
2010-04-28 00:36:01 +00:00
Chris Lattner
22d3b3b3b7 further clarify alignment of globals, fix instcombine
to not increase the alignment of globals with an assigned
alignment and section.

llvm-svn: 102476
2010-04-28 00:31:12 +00:00
Chris Lattner
3b199c318b improve the global variable alignment description.
it is not generally valid for targets to overalign
them when an alignment is specified.

llvm-svn: 102474
2010-04-28 00:13:42 +00:00
Chris Lattner
eee2e72653 fix wordo
llvm-svn: 102418
2010-04-27 07:28:11 +00:00
Chris Lattner
d0aac8b957 remove some comments.
llvm-svn: 102417
2010-04-27 06:57:10 +00:00
Dan Gohman
5aba2a8293 Integrate Jeffery Yasskin's suggestions with respect to
traps flowing through memory references, add some text to
better cover phi nodes and externally-visible side effects,
add an example of instructions being control-dependent
on a trap value, and reword some of the existing trap rules.

llvm-svn: 102399
2010-04-26 23:36:52 +00:00
Jeffrey Yasskin
0819d5660a Consolidate the description of volatile operations, now that some of the
intrinsics have volatile semantics in addition to the load and store
instructions.  

llvm-svn: 102384
2010-04-26 21:21:24 +00:00
Dan Gohman
bdcee3e015 Branching or switching on trap transfers imminent undefined behavior
onto control-dependent instructions.

llvm-svn: 102381
2010-04-26 20:54:53 +00:00
Gabor Greif
26e11650ef add some typewriter tags
llvm-svn: 102378
2010-04-26 20:46:03 +00:00
Dan Gohman
d051dc29ba Fix HTML errors that Jeffery Yasskin noticed.
llvm-svn: 102376
2010-04-26 20:21:21 +00:00
Chris Lattner
9f29bb8809 wrap some long lines.
llvm-svn: 102354
2010-04-26 17:42:18 +00:00
Chris Lattner
75c7989270 add GHC, thanks to David Terei
llvm-svn: 102352
2010-04-26 17:38:10 +00:00
Gabor Greif
115b2b2e36 another typo pointed out by sajd
llvm-svn: 102319
2010-04-25 21:30:22 +00:00
Gabor Greif
418a60ac3d fix two typos pointed out by sajd
llvm-svn: 102318
2010-04-25 21:27:54 +00:00
David Chisnall
0c13a0405d Added bullet about GNUstep Objective-C ABI support to the Clang section of the release notes.
llvm-svn: 102309
2010-04-25 19:13:33 +00:00
Dan Gohman
63f016a4b5 PHI nodes also do not necessarily return trap with a trap operand.
llvm-svn: 102278
2010-04-24 22:15:58 +00:00
Nick Lewycky
0fef330e6b Fix typo.
llvm-svn: 102276
2010-04-24 22:01:40 +00:00
Dan Gohman
cc14435fdf Switch getelementptr inbounds and sdiv exact from undef to trap.
llvm-svn: 102175
2010-04-23 15:23:32 +00:00
Dan Gohman
a75ad3c1ca Add an initial description of a new concept: trap values, and change
the definition of the nsw and nuw flags to make use of it.

nsw was introduced to help optimizers answer yes to the following:

  // Can we change i from i32 to i64 to eliminate the cast inside the loop?
  for (int i = 0; i < n; ++i) A[i] *= 0.1;

  // Can we assume that this loop will eventually terminate?
  for (int i = 0; i <= n; ++i) A[i] *= 0.1;

In its current form, it isn't truly sufficient for either.

In the first case, if the increment overflows, it'll still have some
valid i32 value; sign-extending it will produce a value which is 33
homogeneous sign bits trailed by 31 independent undef bits. If i is
promoted to i64, it won't have those same values when it reaches that
point. (The compiler could recover here by reasoning about how i is
used by the load, but that's a lot more complicated and isn't always
possible.)

In the second case, there is no value for i which will be greater than
n, so having the increment return undef on overflow doesn't help.

Trap values are a formalization of some existing concepts that we have
about LLVM IR, and give the optimizers a better basis for answering yes
to both questions above.

llvm-svn: 102140
2010-04-22 23:14:21 +00:00
Chris Lattner
1c39e01255 add macruby back
llvm-svn: 102132
2010-04-22 21:34:16 +00:00
Dan Gohman
e4787844ea Add a blurb about the new LSR.
llvm-svn: 102126
2010-04-22 20:50:43 +00:00
Nick Lewycky
a75e358709 The -condprop pass has been deleted.
llvm-svn: 102125
2010-04-22 20:48:34 +00:00
Dan Gohman
70f0f7f0d3 The post-RA scheduler is currently off by default on x86.
llvm-svn: 102124
2010-04-22 20:47:28 +00:00
Douglas Gregor
56d10f2b15 Add some verbiage about Clang to the 2.7 release notes
llvm-svn: 102121
2010-04-22 20:42:40 +00:00
Jim Grosbach
caf6c99d1c Add mention of ARM atomic builtin support
llvm-svn: 102103
2010-04-22 18:33:31 +00:00
Jim Grosbach
d6e2566355 Update ARM frame index scavenging description
llvm-svn: 102101
2010-04-22 18:28:43 +00:00
Chris Lattner
309aa11350 remove dupe
llvm-svn: 102100
2010-04-22 18:26:17 +00:00
Chris Lattner
6233e00e2a reword my incoherent babble into something that makes sense
from Wesley Peck!

llvm-svn: 102096
2010-04-22 17:39:38 +00:00
Chris Lattner
dfdc7fccda two more projects.
llvm-svn: 102095
2010-04-22 17:28:36 +00:00
Chris Lattner
ed23fe4cff add some notes from Matthieu Moy!
llvm-svn: 102093
2010-04-22 17:25:00 +00:00
Chris Lattner
fc13e24c81 improve tblgen doc, pointed out by Zhongxing.
llvm-svn: 102072
2010-04-22 16:45:27 +00:00
Wesley Peck
8f150ced6d Fixing a typo in the "Clang project" section of the release notes.
llvm-svn: 102064
2010-04-22 14:19:00 +00:00
Wesley Peck
b295a50091 Small fix to the "Other Improvements and New Features" section of the release notes.
llvm-svn: 102063
2010-04-22 13:53:54 +00:00
Wesley Peck
dc9ba0134b Fixing small typos in the "New Useful APIs" section of the release notes.
llvm-svn: 102062
2010-04-22 13:50:46 +00:00
Wesley Peck
7f83cbe232 Fixing small typos in the "ARM Target Improvements" section of the release notes.
llvm-svn: 102061
2010-04-22 13:43:14 +00:00
Wesley Peck
cb022ed0ce Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.
llvm-svn: 102060
2010-04-22 13:36:27 +00:00
Wesley Peck
e625128571 Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.
llvm-svn: 102059
2010-04-22 13:28:34 +00:00
Gabor Greif
13e1b5b1f1 <pre> seems to close <p>
llvm-svn: 102057
2010-04-22 10:25:23 +00:00
Gabor Greif
354e1c3939 the validator coughed up some problems, most of them fixed
llvm-svn: 102056
2010-04-22 10:21:43 +00:00
Gabor Greif
635f76d9de shorten link
llvm-svn: 102055
2010-04-22 10:11:24 +00:00
Chris Lattner
8ff3e6506e static analyzer has its own section
llvm-svn: 102054
2010-04-22 06:39:56 +00:00
Chris Lattner
649d0d8f2f add mc and static analyzer blurbs.
llvm-svn: 102053
2010-04-22 06:38:11 +00:00
Chris Lattner
5f414c7e6c another checkpoint.
llvm-svn: 102052
2010-04-22 06:28:20 +00:00
Chris Lattner
6335b2f168 various updates.
llvm-svn: 102051
2010-04-22 05:41:35 +00:00
Duncan Sands
3a53ba12eb Dragonegg will be released along side llvm-2.7.
llvm-svn: 102001
2010-04-21 13:51:48 +00:00
Chris Lattner
97c2f2650f final hacking for tonight, still more to go.
llvm-svn: 101995
2010-04-21 06:42:24 +00:00
Chris Lattner
10da8920ca continue the process of detangling this.
llvm-svn: 101992
2010-04-21 06:23:40 +00:00
Chris Lattner
53633d42d1 rough pass moving stuff into relevant sections, still much
editing to do.

llvm-svn: 101987
2010-04-21 05:17:40 +00:00
Chris Lattner
02810a9a52 remove ldc, rubinious, macruby, icedtea, llvm-lua, which
don't have updates for 2.7.

llvm-svn: 101985
2010-04-21 04:28:21 +00:00
Duncan Sands
8c2c90c3f9 I plan to release a version of dragonegg based on llvm-2.7 shortly
after the llvm-2.7 release.

llvm-svn: 101934
2010-04-20 19:40:58 +00:00
Nick Lewycky
35e42e1c73 Refresh this documentation. Things have changed a bit in the mean time:
- LLVMgold.so --> libLLVMgold.so
 - the GCC LTO project is no longer 'upcoming'
 - document the plugin support for 'ar' and 'nm'

llvm-svn: 101624
2010-04-17 07:00:24 +00:00
Chris Lattner
acc2443e60 update docs for api change.
llvm-svn: 101566
2010-04-16 23:07:44 +00:00
Chris Lattner
9cb8ee9b57 completed my pass over all 6+ months of commits, next step, format and make comprehendable.
llvm-svn: 101449
2010-04-16 06:20:22 +00:00
Duncan Sands
89431f240a Pointed out by housel on #llvm.
llvm-svn: 101395
2010-04-15 20:35:54 +00:00
Chris Lattner
357413197e checkpoint.
llvm-svn: 101118
2010-04-13 06:37:00 +00:00
Bob Wilson
adb1da2978 Fix a grammaro.
llvm-svn: 100877
2010-04-09 18:39:54 +00:00
Chris Lattner
2b868eff9b typo
llvm-svn: 100738
2010-04-08 00:54:34 +00:00
Chris Lattner
a9fcf0a3d7 document isvolatile etc.
llvm-svn: 100737
2010-04-08 00:53:57 +00:00
Mon P Wang
59f3cab93b Update langref for memcpy, memmove, and memset
llvm-svn: 100611
2010-04-07 06:35:53 +00:00
Chris Lattner
122572e13a Have the inst emitter add the !srcloc mdnode to the machine instr.
Have the asmprinter use the mdnode to scavenge a source location if
present.  Document this nonsense in langref.

llvm-svn: 100607
2010-04-07 05:38:05 +00:00
John Criswell
1360040370 Adding SAFECode to the list of projects that work with LLVM 2.7.
llvm-svn: 100525
2010-04-06 14:52:14 +00:00
Tanya Lattner
899c498b79 Update to note that clang has a baseline now. Dropping x86-32 for MacOS.
llvm-svn: 100447
2010-04-05 18:35:37 +00:00
Nick Lewycky
828e7cab3e Add MC and LTO, two terms I just had to explain on IRC.
llvm-svn: 100413
2010-04-05 05:48:47 +00:00
Chris Lattner
89c15f926a don't reference DwarfWriter
llvm-svn: 100401
2010-04-05 04:11:11 +00:00
Duncan Sands
7a7fb5d551 Add notes about dragonegg.
llvm-svn: 100183
2010-04-02 09:23:15 +00:00
Erick Tryzelaar
b37a245d5f There are no known O'Caml problems at the moment.
llvm-svn: 100076
2010-04-01 01:53:24 +00:00
Nick Lewycky
967cac7bf6 Small fixes to this documentation. Remove mention of uint/int type, fix typo
in 'number'.

llvm-svn: 100001
2010-03-31 07:50:17 +00:00
Dan Gohman
4bdd10c6df Fix a grammaro.
llvm-svn: 99917
2010-03-30 20:04:57 +00:00
Chris Lattner
2310e31a42 some other notes.
llvm-svn: 99826
2010-03-29 18:42:42 +00:00
Chris Lattner
43f030add2 apparently llvm 2.7 now has great armv4 support, from
John Tytgat

llvm-svn: 99825
2010-03-29 18:39:28 +00:00
Chris Lattner
6c6aaee1f1 update the vmkit blurb
llvm-svn: 99824
2010-03-29 18:34:13 +00:00
Chris Lattner
af08584e6e add tce
llvm-svn: 99820
2010-03-29 17:50:39 +00:00
Chris Lattner
d2dd416772 remove parallel support.
llvm-svn: 99703
2010-03-27 02:53:27 +00:00
Gabor Greif
a9b9d7cd8b fix iterator name
llvm-svn: 99646
2010-03-26 19:59:25 +00:00
Dan Gohman
409aed7b50 Minor grammar and html fixes.
llvm-svn: 99644
2010-03-26 19:51:14 +00:00
Gabor Greif
77e468da11 some more tweaks
llvm-svn: 99643
2010-03-26 19:40:38 +00:00
Dan Gohman
746a971656 Tell "the rest of the story" about LLVM's iterators' implicit conversions.
llvm-svn: 99642
2010-03-26 19:39:05 +00:00
Gabor Greif
ab4f7619d9 fix formatting and a validation fail
llvm-svn: 99640
2010-03-26 19:35:48 +00:00
Gabor Greif
b719c76f21 add a blurb on const versions of chain traversals and a word of caution
llvm-svn: 99638
2010-03-26 19:30:47 +00:00
Devang Patel
341502ebd8 Add a paragram describing how to extract line number information.
llvm-svn: 99636
2010-03-26 19:08:36 +00:00
Gabor Greif
f823bd13ae http://englishplus.com/grammar/00000296.htm
llvm-svn: 99635
2010-03-26 19:04:42 +00:00
Daniel Dunbar
f580fde5f7 Sketch a few Clang release notes.
llvm-svn: 99512
2010-03-25 16:09:18 +00:00
Dan Gohman
8493042e4d Docuemntation corrections from John Myers.
llvm-svn: 99454
2010-03-25 00:03:04 +00:00
Erick Tryzelaar
c20300df21 Fix the ocaml kaleidoscope tutorial to fix linking external libraries.
llvm-svn: 99151
2010-03-21 23:15:13 +00:00
Daniel Dunbar
31954e0f7e Drop KLEE blurb, we don't have anything new.
llvm-svn: 98922
2010-03-19 03:18:05 +00:00
Wesley Peck
8d573bace6 Adding MicroBlaze as an experimental backend in the release notes
llvm-svn: 98824
2010-03-18 14:31:30 +00:00
Chris Lattner
60538afb4b add a couple blurbs back
llvm-svn: 98809
2010-03-18 06:52:15 +00:00
Chris Lattner
2a10d0d197 notes from evan
llvm-svn: 98748
2010-03-17 18:15:52 +00:00
Chris Lattner
8864749531 several updates
llvm-svn: 98742
2010-03-17 17:25:49 +00:00
John Criswell
45030b2aec Fixed spelling errors.
llvm-svn: 98724
2010-03-17 15:01:50 +00:00
Chris Lattner
908eb01656 combiner-aa too, what's its status?
llvm-svn: 98715
2010-03-17 06:42:25 +00:00
Chris Lattner
b59b74df31 more chris scribble.
llvm-svn: 98714
2010-03-17 06:41:58 +00:00
Chris Lattner
b66f9c24a7 add a bunch of random and unformatted notes as I am reading
through tons of old commits.

llvm-svn: 98709
2010-03-17 04:41:49 +00:00
Chris Lattner
5da0364420 add logo, comment out project info, they need to send updates
to get reincluded.

llvm-svn: 98706
2010-03-17 04:02:39 +00:00
Chris Lattner
a0ac2d995f various cleanups from daniel
llvm-svn: 98528
2010-03-15 04:12:21 +00:00
Chris Lattner
7c46b31729 tidy up and expound more on how half-float works.
llvm-svn: 98524
2010-03-14 23:03:31 +00:00
Anton Korobeynikov
51a709db4d Document fp16 intrinsics
llvm-svn: 98505
2010-03-14 18:42:47 +00:00
Chris Lattner
d6d11e53ab add support, testcases, and dox for the new GHC calling
convention.  Patch by David Terei!

llvm-svn: 98212
2010-03-11 00:22:57 +00:00
Dan Gohman
107b6faef5 Clarify the documentation for MachineFunctionPasses.
llvm-svn: 98119
2010-03-10 01:29:39 +00:00
Devang Patel
4995bb0450 Start using DIFile. See updated SourceLevelDebugging.html for more information.
This patch updates LLVMDebugVersion to 8.
Debug info descriptors encoded using LLVMDebugVersion 7 is supported.

Corresponding llvmgcc and clang FE commits are required.

llvm-svn: 98020
2010-03-09 00:44:10 +00:00
Evan Cheng
cfe037000a Add documentation on sibling call optimization. Rename tailcall2.ll test to sibcall.ll.
llvm-svn: 97980
2010-03-08 21:05:02 +00:00
Erick Tryzelaar
78095fc0b5 Update the OCaml Kaleidoscope tutorial.
llvm-svn: 97965
2010-03-08 19:32:18 +00:00
Devang Patel
79a4a71472 Add metadata example.
llvm-svn: 97764
2010-03-04 23:44:48 +00:00
Erick Tryzelaar
4e7593750d Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.
We need this so can not bake DESTDIR into the O'Caml symlinks.

llvm-svn: 97743
2010-03-04 20:56:19 +00:00
Chris Lattner
56c9bd0c6b attributes are not part of types anymore, patch by James Woodyatt!
llvm-svn: 97557
2010-03-02 06:36:51 +00:00
Dan Gohman
37bf232609 Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
respectively.

llvm-svn: 97531
2010-03-02 01:11:08 +00:00
Dan Gohman
df1b620863 PerformTailCallOpt was renamed to GuaranteedTailCallOpt to
better reflect its meaning, now that tail call optimizations
are done by default in some cases.

llvm-svn: 97530
2010-03-02 01:08:11 +00:00
Chris Lattner
302e7118ed note that andersaa was removed in 2.7
llvm-svn: 97484
2010-03-01 19:29:17 +00:00
Chris Lattner
ebb4fbf691 remove anders-aa from mainline, it isn't maintained and is
tantalyzing enough that people keep trying to use it.

llvm-svn: 97483
2010-03-01 19:24:17 +00:00
Dan Gohman
f244a308c4 Fix spelling.
llvm-svn: 97447
2010-03-01 17:41:39 +00:00
Chris Lattner
bbb7d72497 I'm removing andersaa after the branch is made.
llvm-svn: 97409
2010-02-28 18:57:59 +00:00
Dan Gohman
99c6bcbc13 The mayHaveSideEffects flag is no longer used.
llvm-svn: 97348
2010-02-27 23:47:46 +00:00
Jeffrey Yasskin
cbd5ec830f Test that docs are updating.
llvm-svn: 97279
2010-02-26 22:25:06 +00:00
Tanya Lattner
ffc8e87d98 Test autoupdate.
llvm-svn: 97266
2010-02-26 21:23:59 +00:00
Tanya Lattner
519c2d0325 Test auto update.
llvm-svn: 97265
2010-02-26 21:19:09 +00:00
Jeffrey Yasskin
4498daa280 Remove REQUIRES_EH from the suggested set of make variables, since users can
build with exceptions even if LLVM is built without.

llvm-svn: 97260
2010-02-26 20:43:33 +00:00
Dan Gohman
61830209a6 Fix typos in comments.
llvm-svn: 97257
2010-02-26 20:18:32 +00:00
Jeffrey Yasskin
96dee852f2 Set svn:keywords property on docs/Packaging.html.
llvm-svn: 97230
2010-02-26 18:07:00 +00:00
Jeffrey Yasskin
52214fbeeb Add to the packaging advice.
llvm-svn: 97229
2010-02-26 18:03:43 +00:00
Dan Gohman
487127ce68 Fix a typo.
llvm-svn: 97206
2010-02-26 02:15:17 +00:00
Jeffrey Yasskin
d6401732f5 Give packagers some advice about how to build LLVM so it's useful to
the most users.

llvm-svn: 97198
2010-02-26 00:54:42 +00:00
Dan Gohman
f433645431 Fix a few more typos.
llvm-svn: 97182
2010-02-25 23:51:27 +00:00
Dan Gohman
72d455709c Fix a typo.
llvm-svn: 97181
2010-02-25 23:41:41 +00:00
Bill Wendling
25090c690a Fix HTML.
llvm-svn: 97170
2010-02-25 21:23:24 +00:00
Dan Gohman
c4d2315616 stkrc is gone.
llvm-svn: 97156
2010-02-25 18:18:49 +00:00
Dan Gohman
1cb8720346 Merge the advanced getelementptr FAQ into the regular
getelementptr FAQ.

llvm-svn: 97154
2010-02-25 18:16:03 +00:00
Dan Gohman
8428b7f9a0 Fix a typo.
llvm-svn: 97144
2010-02-25 16:51:31 +00:00
Dan Gohman
a34a47406d Clarify the description of pointer types, and move the
address space content to its own paragraph.

llvm-svn: 97143
2010-02-25 16:50:07 +00:00
Dan Gohman
fe70c08c09 Remove this paragraph. Vectors may not always have the same layout as
arrays now.

llvm-svn: 97139
2010-02-25 15:53:42 +00:00
Daniel Dunbar
bfb3858de0 Add LLVM{CC,CXX} make variables, which specify the configured path the LLVM
capable compilers (which could be llvm-gcc or clang).

llvm-svn: 96935
2010-02-23 10:00:53 +00:00
Daniel Dunbar
93911572ff Eliminate llvmgcc_version testing variable.
llvm-svn: 96908
2010-02-23 07:56:28 +00:00
Daniel Dunbar
cb977c7241 Kill unused llvmgccmajvers testing variable.
llvm-svn: 96906
2010-02-23 07:56:18 +00:00
Dan Gohman
f8e12a593d Update LangRef to match the code; pointers default to being 64-bit.
llvm-svn: 96873
2010-02-23 02:44:03 +00:00
Dan Gohman
4fc21185cc Clarify that ptrtoint+inttoptr are an alternative to GEP which are
not restricted by the GEP rules.

llvm-svn: 96598
2010-02-18 18:40:29 +00:00
Dan Gohman
c3b7c57bb0 Fix a typo.
llvm-svn: 96597
2010-02-18 18:22:41 +00:00
Dan Gohman
d6397d8097 Clarify that the rules about object hopping kick in when a pointer is
deferenced, rather than when the pointer value is computed.

llvm-svn: 96596
2010-02-18 18:22:18 +00:00
Dan Gohman
a3a061eab9 Fix typos Duncan noticed.
llvm-svn: 96594
2010-02-18 18:19:17 +00:00
Duncan Sands
b7bb8ab12e Uniformize the way these options are printed. Requested by
Russell Wallace.

llvm-svn: 96580
2010-02-18 14:37:52 +00:00
Duncan Sands
ca05b607b7 Refer to -help instead of --help since this is what tools themselves say.
Also, have tools output -help-hidden rather than refer to --help-hidden,
for consistency, and likewise adjust documentation.  This doesn't change
every mention of --help, only those which seemed clearly safe.

llvm-svn: 96578
2010-02-18 14:08:13 +00:00
Dan Gohman
2324463069 Make this an unnumbered list.
llvm-svn: 96528
2010-02-17 22:54:10 +00:00
Dan Gohman
0053291bb5 HTML validation fixes.
llvm-svn: 96527
2010-02-17 22:50:12 +00:00
Dan Gohman
b07c61ac51 Add an "advanced" GetElementPtr FAQ document, with answers to
questions left unanswered by the first GetElementPtr FAQ.

llvm-svn: 96526
2010-02-17 22:47:06 +00:00
Chris Lattner
f4a6f4d0ef irbuilder is doing constant folding now by default, PR6092
llvm-svn: 96502
2010-02-17 19:54:34 +00:00
Chris Lattner
9af1b53985 fix some out of date prose dating from the LLVMContext changes.
llvm-svn: 96500
2010-02-17 19:51:31 +00:00
Chris Lattner
96be7e85dc add optional debian instructions, PR6272
llvm-svn: 96488
2010-02-17 18:33:13 +00:00
Duncan Sands
96fead3488 Mention an API change.
llvm-svn: 96480
2010-02-17 17:20:17 +00:00
David Greene
c10133139e Add support for emitting non-temporal stores for DAGs marked
non-temporal.  Fix from r96241 for botched encoding of MOVNTDQ.

Add documentation for !nontemporal metadata.

Add a simpler movnt testcase.

llvm-svn: 96386
2010-02-16 20:50:18 +00:00
Duncan Sands
2acaf3609c Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!

llvm-svn: 96223
2010-02-15 16:12:20 +00:00
Daniel Dunbar
59ecca73a9 2.7: Note that DataTypes.h moved.
llvm-svn: 96143
2010-02-14 01:47:19 +00:00
Chris Lattner
2265d6280b Add support for a union type in LLVM IR. Patch by Talin!
llvm-svn: 96011
2010-02-12 20:49:41 +00:00
Charles Davis
d69c12ecc6 Add a new function attribute, 'alignstack'. It will indicate (when the backends
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).

llvm-svn: 95945
2010-02-12 00:31:15 +00:00
Anton Korobeynikov
76b8d76b39 Document binutils requirements for coff targets (cygwin / mingw32).
llvm-svn: 95928
2010-02-11 21:51:51 +00:00
Dan Gohman
c69b856563 llvm-db was removed.
llvm-svn: 95904
2010-02-11 19:35:26 +00:00
Jeffrey Yasskin
472348ab92 Make Kaleidoscope not link against the interpreter, since that didn't
work anyway (Interpreter::getPointerToFunction doesn't return a
callable pointer), and improve the error message when an
ExecutionEngine can't be created.

llvm-svn: 95896
2010-02-11 19:15:20 +00:00
Jeffrey Yasskin
8a1ee8f852 Make it possible to create multiple JIT instances at the same time, by removing
the global TheJIT and TheJITResolver variables.  Lazy compilation is supported
by a global map from a stub address to the JITResolver that knows how to
compile it.

Patch by Olivier Meurant!

llvm-svn: 95837
2010-02-11 01:07:39 +00:00
Dan Gohman
8c140d394f Add support to llvm-extract for extracting multiple functions and/or
multiple global variables at a time.

llvm-svn: 95825
2010-02-10 23:58:53 +00:00
Daniel Dunbar
4e9161800a Add a ReleaseNotes FIXME.
llvm-svn: 95764
2010-02-10 04:09:52 +00:00
Jeffrey Yasskin
f7833b76ca Make --disable-libffi work on systems with libffi installed. Also
make no-ffi the default even on systems with libffi.  This fixes
http://llvm.org/PR5018.

llvm-svn: 95712
2010-02-09 23:03:44 +00:00
Duncan Sands
70a24159d2 Fix some typos.
llvm-svn: 95542
2010-02-08 11:03:31 +00:00
Jakob Stoklund Olesen
83ebc265b3 Reintroduce the InlineHint function attribute.
This time it's for real! I am going to hook this up in the frontends as well.

The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.

We need some experiments to determine if that is the right thing to do.

llvm-svn: 95466
2010-02-06 01:16:28 +00:00
Jeffrey Yasskin
25be4b094c Make docs less specific about their versions, at Chris's suggestion.
llvm-svn: 95231
2010-02-03 18:49:55 +00:00
Jeffrey Yasskin
45ef2ed050 Mention the version in the documentation index and link to the 2.6 docs, which
is what most readers will actually be aiming for.

llvm-svn: 95229
2010-02-03 18:23:23 +00:00
Dan Gohman
8f03e98627 Add "Author Date Id Revision" svn:keyword properties to these files, as
is done with the other html files in doc, to hopefully keep strings like
"Last modified" current.

llvm-svn: 95225
2010-02-03 17:27:31 +00:00
Chris Lattner
fa04a6e968 Inline addAssemblyEmitter into its one real caller and delete
the -print-emitted-asm option.  The JIT shouldn't have to pull
in the asmprinter.

llvm-svn: 95100
2010-02-02 18:44:12 +00:00
Jeffrey Yasskin
394da72ecc Belatedly document r85295 and r85330.
llvm-svn: 94825
2010-01-29 19:10:38 +00:00
Jim Grosbach
7474937004 Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.

llvm-svn: 94726
2010-01-28 01:45:32 +00:00
Jeffrey Yasskin
fb794eb907 Record the death of ModuleProvier and GhostLinkage in the release notes and
give upgrade instructions.

llvm-svn: 94723
2010-01-28 01:41:20 +00:00
Jeffrey Yasskin
b587f073e5 Truncate the release notes so they're ready to accumulate notes for the 2.7 release.
llvm-svn: 94720
2010-01-28 01:14:43 +00:00
Jeffrey Yasskin
fb10587e50 Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
other languages still use the ModuleProvider concept.  It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.

llvm-svn: 94686
2010-01-27 20:34:15 +00:00
Chris Lattner
b05aa7f639 no need to implement these.
llvm-svn: 94443
2010-01-25 20:37:36 +00:00
Chris Lattner
2e8baf1561 reduce redundant are's.
llvm-svn: 94008
2010-01-20 17:53:51 +00:00
Chris Lattner
72b0268918 add a thing to investigate.
llvm-svn: 93659
2010-01-16 21:25:13 +00:00
Chris Lattner
c94ab2c354 move "Metadata Nodes and Metadata Strings" section to the right place in the
document and edit it.

llvm-svn: 93559
2010-01-15 21:50:19 +00:00
Eric Christopher
3c5d9dc0e3 Remove the InlineHint attribute. There are no current or planned
users.

llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Chris Lattner
c282e8bbaf mention that unwind isn't to be trusted, patch by Dustin Laurence
llvm-svn: 93518
2010-01-15 18:08:37 +00:00
Victor Hernandez
d0abf2df95 Add documentation for llvm.dbg.value intrinsic
llvm-svn: 93203
2010-01-11 22:53:48 +00:00
Devang Patel
245046024d Add top level section for named metadata.
llvm-svn: 93172
2010-01-11 19:35:55 +00:00
Jeffrey Yasskin
42686afc01 Improve unclear bits and inaccuracies in structure and insertvalue
documentation.

Patch by Dustin Laurence!

llvm-svn: 93170
2010-01-11 19:19:26 +00:00
Jeffrey Yasskin
7ce78561e3 Update the -tailcallopt description to match djg's improvements to the calling
convention. 

llvm-svn: 93167
2010-01-11 18:53:47 +00:00