1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

3754 Commits

Author SHA1 Message Date
Rafael Espindola
c3b766cc93 s/libLLVMgold/LLVMgold/g
llvm-svn: 110552
2010-08-08 21:14:26 +00:00
Peter Collingbourne
926fe36804 Fix missing </a> tag error introduced by addition of LowerAtomic pass.
While at it, fix all other HTML validation errors in docs/Passes.html.

llvm-svn: 110428
2010-08-06 02:13:25 +00:00
Eric Christopher
68f5d1e7fa Document results of PR7762.
llvm-svn: 110373
2010-08-05 20:38:39 +00:00
Owen Anderson
59e2dd4f8d Add a note about the changing pass registration interface.
llvm-svn: 110231
2010-08-04 18:27:08 +00:00
Dan Gohman
1eb3e12da2 Delete mkpatch. Everything it does is already done by svn diff by default.
llvm-svn: 110203
2010-08-04 16:07:22 +00:00
Dan Gohman
b29ac42863 Remove a link which is no longer relevant.
llvm-svn: 110202
2010-08-04 15:59:16 +00:00
Torok Edwin
33f893ec69 Note some LLVM 2.7 -> 2.8 APIs that changed / got renamed.
I encountered these while upgrading libclamav.

llvm-svn: 110196
2010-08-04 12:43:22 +00:00
Peter Collingbourne
10c4f9d6bd Add an atomic lowering pass
llvm-svn: 110113
2010-08-03 16:19:16 +00:00
Daniel Dunbar
87c74ac6e5 docs/TestingGuide: Minimal update to describe 'lit' based regression testing
instead of DejaGNU. Still a bit kooky, since the current test format still has
some strong Tcl roots. Oh well!

llvm-svn: 110005
2010-08-02 01:20:23 +00:00
Daniel Dunbar
ef6b6da416 docs/TestingGuide: Rip out description of old nightly tester infrastructure. The
official recommendation is to use LNT instead. I will write docs on setting up
an LNT installation for submission to llvm.org, one day.

llvm-svn: 110004
2010-08-02 01:20:20 +00:00
Nick Lewycky
f2db3d61a9 Fix word choice.
llvm-svn: 109995
2010-08-01 23:18:45 +00:00
John Criswell
bc5393a5fe Grammar cop pullover: Corrected and improved some grammar in the description of
the llvm.memset() intrinsic family.
No content changes.

llvm-svn: 109863
2010-07-30 16:30:28 +00:00
Gabor Greif
7ae22e4471 re-commit r109220, the compile error has already been fixed
Simplifying use_iterators by dereferencing
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).

Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.

llvm-svn: 109425
2010-07-26 18:48:07 +00:00
Peter Collingbourne
48fc43e800 Document BUILD_EXAMPLES makefile variable
llvm-svn: 109346
2010-07-24 17:54:00 +00:00
Tobias Grosser
604a50cd71 Add new RegionInfo pass.
The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".

llvm-svn: 109089
2010-07-22 07:46:31 +00:00
Owen Anderson
b36d01c1b6 Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
llvm-svn: 109058
2010-07-21 23:07:00 +00:00
Owen Anderson
e380b82a47 First stab at updating the documentation for INITIALIZE_PASS().
llvm-svn: 109055
2010-07-21 22:58:07 +00:00
Dan Gohman
fc3ee085a0 Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).

llvm-svn: 109028
2010-07-21 18:54:18 +00:00
Chris Lattner
538de44e5c strip out the 2.7 release notes, this really is the 2.8 release notes
now. Add a few items like the fpstackifier improvements.

llvm-svn: 109013
2010-07-21 15:57:40 +00:00
Gabor Greif
995ca8288c appease Validator
llvm-svn: 109007
2010-07-21 10:22:41 +00:00
Gabor Greif
c1c01f33ec add info on operand rotation
llvm-svn: 109006
2010-07-21 10:20:08 +00:00
Jakob Stoklund Olesen
44949b2e1b Remove the isMoveInstr() hook.
llvm-svn: 108567
2010-07-16 22:35:46 +00:00
Benjamin Kramer
da3e6cdb26 Don't pass StringRef by reference.
llvm-svn: 108366
2010-07-14 22:38:02 +00:00
Dan Gohman
546332a032 Fix the Named Metadata example to make it clear which specific
construct is the named metadata.

llvm-svn: 108263
2010-07-13 19:48:13 +00:00
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