Commit Graph

3607 Commits

Author SHA1 Message Date
Oscar Fuentes
c2d868875e CMake: document how to incorporate LLVM into the cmake project of an
external project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110561 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-09 03:26:48 +00:00
Oscar Fuentes
fd2f3e66fe CMake: documented testing procedure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110559 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-09 02:49:39 +00:00
Rafael Espindola
ec62d53736 Add a opt-args option that can be used to pass arguments to every opt
invocation. Fixes PR7793:

bugpoint -debug test.ll --opt-args -unroll-count=4

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110555 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-08 22:14:20 +00:00
Rafael Espindola
53843f8edb s/libLLVMgold/LLVMgold/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110552 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-08 21:14:26 +00:00
Peter Collingbourne
c3086bad02 Fix missing </a> tag error introduced by addition of LowerAtomic pass.
While at it, fix all other HTML validation errors in docs/Passes.html.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 02:13:25 +00:00
Eric Christopher
3aff66905f Document results of PR7762.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 20:38:39 +00:00
Owen Anderson
87ebbc0c56 Add a note about the changing pass registration interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110231 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:27:08 +00:00
Dan Gohman
c1076ea611 Delete mkpatch. Everything it does is already done by svn diff by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:07:22 +00:00
Dan Gohman
b0495100f5 Remove a link which is no longer relevant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 15:59:16 +00:00
Torok Edwin
7c46cf0bfe Note some LLVM 2.7 -> 2.8 APIs that changed / got renamed.
I encountered these while upgrading libclamav.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 12:43:22 +00:00
Peter Collingbourne
3bababf880 Add an atomic lowering pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:19:16 +00:00
Daniel Dunbar
cd3b117c76 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!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 01:20:23 +00:00
Daniel Dunbar
1628665065 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 01:20:20 +00:00
Nick Lewycky
2a80aca1a8 Fix word choice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01 23:18:45 +00:00
John Criswell
cdcbbfcb15 Grammar cop pullover: Corrected and improved some grammar in the description of
the llvm.memset() intrinsic family.
No content changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109863 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 16:30:28 +00:00
Gabor Greif
05006e2813 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-26 18:48:07 +00:00
Peter Collingbourne
0cb24daeea Document BUILD_EXAMPLES makefile variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-24 17:54:00 +00:00
Tobias Grosser
f96b006367 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".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109089 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 07:46:31 +00:00
Owen Anderson
d8cc7be026 Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 23:07:00 +00:00
Owen Anderson
20813e01e7 First stab at updating the documentation for INITIALIZE_PASS().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109055 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 22:58:07 +00:00
Dan Gohman
872814ae04 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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 18:54:18 +00:00
Chris Lattner
922d00f5f5 strip out the 2.7 release notes, this really is the 2.8 release notes
now. Add a few items like the fpstackifier improvements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 15:57:40 +00:00
Gabor Greif
50fb330b8d appease Validator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 10:22:41 +00:00
Gabor Greif
17b59fe2d3 add info on operand rotation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109006 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 10:20:08 +00:00
Jakob Stoklund Olesen
78e6e00922 Remove the isMoveInstr() hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108567 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-16 22:35:46 +00:00
Benjamin Kramer
38e59891ee Don't pass StringRef by reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14 22:38:02 +00:00
Dan Gohman
1005bc5068 Fix the Named Metadata example to make it clear which specific
construct is the named metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 19:48:13 +00:00
Devang Patel
9fea9c24fe Fix compile unit in example. Thanks Renato Golin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 16:53:20 +00:00
Benjamin Kramer
26fe25f651 HTML cleanup and validation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108239 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 12:26:09 +00:00
Duncan Sands
28afd4306a When doing sext/zext of constants, the target type must be strictly
wider than the source type.  Correct LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108238 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 12:06:14 +00:00
Jakob Stoklund Olesen
744b3a5acd Remove TargetInstrInfo::copyRegToReg entirely.
Targets must now implement TargetInstrInfo::copyPhysReg instead. There is no
longer a default implementation forwarding to copyRegToReg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-11 17:01:17 +00:00
Dan Gohman
38da927703 sdiv overflow is outright undefined behavior, with or without the
'exact' keyword. Thanks to nlewycky for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108064 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-11 00:08:34 +00:00
Duncan Sands
67f8a7bc26 Tweak some docs now that the default build is called Debug+Asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107862 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08 08:27:18 +00:00
Reid Kleckner
894728211d Update the docs for debugging JITed code with GDB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07 20:16:45 +00:00
Dan Gohman
9e86f4364b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07 14:27:09 +00:00
Duncan Sands
8246adc1f0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107758 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07 07:48:00 +00:00
John McCall
191d4ee342 Closing tags start with slashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-06 21:07:14 +00:00
Chris Lattner
211244aa52 minor typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107696 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-06 20:51:35 +00:00
Nick Lewycky
76ec37a138 Alphabetize the list of function parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107680 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-06 18:24:09 +00:00
Duncan Sands
5c60386dbc Bring the list of passes and their descriptions up to date.
Patch by Kenneth Hoste.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107669 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-06 15:52:15 +00:00
Dan Gohman
ff70fe40aa Note the relationship between C99 restrict and LLVM noalias, and
clarify a few other things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107659 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-06 15:26:33 +00:00
Chris Lattner
aa6c855c8e indmemrem and lowerallocs are gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107587 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-04 17:36:43 +00:00
Dan Gohman
43b8fd728b Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 23:52:36 +00:00
Dan Gohman
efca7f9681 Describe which dependencies are relevant to noalias, and document how
AliasAnalyses have the choice to respect noalias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 23:46:54 +00:00
Dan Gohman
ff23535df6 Add some html anchors, to allow attributes to be linked to directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 23:18:08 +00:00
Dan Gohman
1e109621f1 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107495 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02 18:41:32 +00:00
Bill Wendling
5e721d7682 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01 21:55:59 +00:00
Bill Wendling
07d3177117 Revert r107205 and r107207.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-29 22:34:52 +00:00
Bill Wendling
7645f14ee8 Improve explanation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-29 21:41:58 +00:00
Bill Wendling
207855cff9 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".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-29 21:24:00 +00:00