Commit Graph

217 Commits

Author SHA1 Message Date
Chris Lattner
ec8f1ea22b how about that, StringRef doesn't allow any mutation, thanks to
Frits for straightening me out.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135856 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23 17:18:57 +00:00
Chris Lattner
6682746454 add section to ToC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135811 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 21:36:29 +00:00
Chris Lattner
3b4f4179cd write the long-overdue strings section of the data structure guide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135809 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 21:34:12 +00:00
Chris Lattner
7314a20a59 move the section for string-like containers to follow the section for sequential containers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135799 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 20:46:49 +00:00
Chris Lattner
9d69d4aadd introduce a new TinyPtrVector class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135365 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18 01:40:02 +00:00
Tobias Grosser
d475c10508 VectorType is also a SequentialType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134979 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-12 11:37:02 +00:00
Chris Lattner
1afcace3a3 Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM.  One way to look at it
is through diffstat:
 109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing.  Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
   union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
   uniques them.  This means that the compiler doesn't merge them structurally
   which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
   struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
   in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead 
   "const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.  
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09 17:41:24 +00:00
Argyrios Kyrtzidis
81df089f86 Document ADT/PackedVector.h in "Programmer's Manual" doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133077 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15 19:56:01 +00:00
Chris Lattner
83f9467436 mention graph vis isn't available in Release builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132916 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-13 15:59:35 +00:00
NAKAMURA Takumi
f5af6ada3b docs: Introduce cascading style <div> and <p> continued on <h[2-5]>.
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>

<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>

<!-- End of section body -->
</div>

FIXME: Care H5 better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130040 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23 00:30:22 +00:00
NAKAMURA Takumi
05d0265fef docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.
H1 ... doc_title
H2 ... doc_section
H3 ... doc_subsection
H4 ... doc_subsubsection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18 23:59:50 +00:00
NAKAMURA Takumi
06c6d9aeb0 docs: Redefine Heading elements as below;
H1 ... Title (and might be Chapter in future)
H2 ... Section
H3 ... Subsection
H4 ... Sub-subsection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129683 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18 01:17:51 +00:00
NAKAMURA Takumi
b9a33634cc docs: Canonicalize URLs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129181 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 02:13:37 +00:00
Chris Lattner
8ae4261d3c mention llvm::ArrayRef, which should be use much more pervasively than
it already is.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128954 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 23:18:20 +00:00
Jakob Stoklund Olesen
4359e5eccf Document llvm/ADT/IntEqClasses.h in ProgrammersManual.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128927 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 20:56:08 +00:00
Chris Lattner
49e0ccfa78 fix description, PR9542
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128214 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-24 16:13:31 +00:00
Nick Lewycky
ccd279d057 Fix thinko, basic blocks are SESE. The exits may have many edges though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125709 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17 02:19:22 +00:00
Jakob Stoklund Olesen
aca0da6876 Add IntervalMap to the Programmer's Manual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-14 00:55:51 +00:00
Nick Lewycky
ea1fe2c0a7 Fix dead link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116157 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-09 21:12:29 +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
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
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
mike-m
e2c3a49c80 Revert r103213. It broke several sections of live website.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103219 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07 00:28:04 +00:00
mike-m
68cb31901c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-06 23:45:43 +00:00
Dan Gohman
4bb31bfaa3 Fix a grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99917 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-30 20:04:57 +00:00
Gabor Greif
bbbf9a2eaa fix iterator name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99646 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:59:25 +00:00
Dan Gohman
0d91c11925 Minor grammar and html fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99644 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:51:14 +00:00
Gabor Greif
ce94319533 some more tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99643 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:40:38 +00:00
Dan Gohman
525bf8ee8e Tell "the rest of the story" about LLVM's iterators' implicit conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99642 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:39:05 +00:00
Gabor Greif
394fdfbda8 fix formatting and a validation fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:35:48 +00:00
Gabor Greif
4de7368bf9 add a blurb on const versions of chain traversals and a word of caution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:30:47 +00:00
Gabor Greif
6091ff346c http://englishplus.com/grammar/00000296.htm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99635 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 19:04:42 +00:00
Dan Gohman
cf0c9bc162 Fix a few more typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97182 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-25 23:51:27 +00:00
Duncan Sands
b0bc6c361d Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15 16:12:20 +00:00
Jeffrey Yasskin
01eba39793 Belatedly document r85295 and r85330.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94825 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 19:10:38 +00:00
Dan Gohman
5f7775c85e Add an entry on SmallBitVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 18:24:00 +00:00
Jeffrey Yasskin
71a5c22c2b Try r84890 again (adding ValueMap<>), now that I've tested the compile on
gcc-4.4.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84902 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 22:11:22 +00:00
Jeffrey Yasskin
a84c9db467 Revert r84890, which broke the linux build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84892 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 20:23:43 +00:00
Jeffrey Yasskin
e0a234029b Add a ValueMap<ValueOrSubclass*, T> type. ValueMap<Value*, T> is safe to use
even when keys get RAUWed and deleted during its lifetime. By default the keys
act like WeakVHs, but users can pass a third template parameter to configure
how updates work and whether to do anything beyond updating the map on each
action.

It's also possible to automatically acquire a lock around ValueMap updates
triggered by RAUWs and deletes, to support the ExecutionEngine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 20:10:20 +00:00
Benjamin Kramer
8040cd3cfd Documentation: Perform automated correction of common typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 14:46:08 +00:00
Torok Edwin
8746929ff9 Fix typo, patch from Timo Juhani Lindfors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 13:37:29 +00:00
Chris Lattner
3fee6eda1d llvm::cerr is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 05:15:50 +00:00
Chris Lattner
38eee3cc29 fix this back, thanks Eli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79508 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 03:10:14 +00:00
Chris Lattner
f636b9698c minor grammar tweak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79498 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 00:29:24 +00:00
Owen Anderson
e0c951a5af Add a first stab at describing LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 17:58:52 +00:00
Daniel Dunbar
c3c9239d76 Add DEBUG_WITH_TYPE as a clean alternative to tweaking DEBUG_TYPE.
This:
--
#undef DEBUG_TYPE
#define DEBUG_TYPE "foo"
DEBUG(...)
#undef DEBUG_TYPE
#define DEBUG_TYPE ""
--
becomes this:
--
DEBUG_WITH_TYPE("foo", ...)
--


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07 23:48:59 +00:00
Benjamin Kramer
e15192b36b Documentation: fix HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 15:42:44 +00:00
Chris Lattner
dced9fb219 eventually we should describe string options in the data structures section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 07:22:20 +00:00
Chris Lattner
81187ae82a minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 07:16:59 +00:00
Daniel Dunbar
6e0d1cb309 Initial update to VMCore to use Twines for string arguments.
- The only meat here is in Value.{h,cpp} the rest is essential 'const
   std::string &' -> 'const Twine &'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 04:41:11 +00:00