Commit Graph

181 Commits

Author SHA1 Message Date
Jeffrey Yasskin
e90afea0ba Try r84890 again (adding ValueMap<>), now that I've tested the compile on
gcc-4.4.

llvm-svn: 84902
2009-10-22 22:11:22 +00:00
Jeffrey Yasskin
7555ed8cdc Revert r84890, which broke the linux build.
llvm-svn: 84892
2009-10-22 20:23:43 +00:00
Jeffrey Yasskin
ad8692124f 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.

llvm-svn: 84890
2009-10-22 20:10:20 +00:00
Benjamin Kramer
1791be26f8 Documentation: Perform automated correction of common typos.
llvm-svn: 83849
2009-10-12 14:46:08 +00:00
Torok Edwin
01eeaaa236 Fix typo, patch from Timo Juhani Lindfors.
llvm-svn: 83848
2009-10-12 13:37:29 +00:00
Chris Lattner
a0271f52a5 llvm::cerr is gone.
llvm-svn: 81189
2009-09-08 05:15:50 +00:00
Chris Lattner
d08139d918 fix this back, thanks Eli
llvm-svn: 79508
2009-08-20 03:10:14 +00:00
Chris Lattner
4477f49ef9 minor grammar tweak
llvm-svn: 79498
2009-08-20 00:29:24 +00:00
Owen Anderson
02c0eaa799 Add a first stab at describing LLVMContext.
llvm-svn: 79435
2009-08-19 17:58:52 +00:00
Daniel Dunbar
60887bf820 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", ...)
--

llvm-svn: 78435
2009-08-07 23:48:59 +00:00
Benjamin Kramer
f3dbf34bbf Documentation: fix HTML validation errors.
llvm-svn: 78196
2009-08-05 15:42:44 +00:00
Chris Lattner
021a977857 eventually we should describe string options in the data structures section
llvm-svn: 77054
2009-07-25 07:22:20 +00:00
Chris Lattner
5092df83f7 minor tweaks.
llvm-svn: 77053
2009-07-25 07:16:59 +00:00
Daniel Dunbar
251177c96e 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 &'.

llvm-svn: 77048
2009-07-25 04:41:11 +00:00
Daniel Dunbar
16ec56532a Rewrite examples to use DEBUG instead of DOUT.
llvm-svn: 77042
2009-07-25 01:55:32 +00:00
Stefanus Du Toit
bbf53428f9 Fix link to BasicBlock doxygen documentation in Programmer's Manual
llvm-svn: 73635
2009-06-17 21:12:26 +00:00
Owen Anderson
e6d490721a Update the threading section to reflect current plans/implementation.
llvm-svn: 73521
2009-06-16 18:04:19 +00:00
Owen Anderson
45f4444e73 Fix validation errors.
llvm-svn: 73515
2009-06-16 17:40:28 +00:00
Owen Anderson
4f02666a95 Add initial stab at documenting the use of LLVM with threaded clients.
Comments welcome!

llvm-svn: 73456
2009-06-16 01:17:16 +00:00
Misha Brukman
064820037b HTML-escape '>' as '&gt;' in sample C++ code.
llvm-svn: 70569
2009-05-01 20:40:51 +00:00
Jeffrey Yasskin
7263dc71e2 Add a mention of TypeBuilder to the programmer's manual, and clean up the class
comment a bit.

llvm-svn: 70515
2009-04-30 22:33:41 +00:00
Gabor Greif
0cf8da6c06 add some text to explain sentinels
llvm-svn: 66790
2009-03-12 10:30:31 +00:00
Gabor Greif
51ea08b090 minor tweaks
llvm-svn: 66788
2009-03-12 09:47:03 +00:00
Chris Lattner
620cb99e33 don't allow hash_map or hash_set.
llvm-svn: 66400
2009-03-09 05:20:45 +00:00
Duncan Sands
5ab54d488f Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr.  These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global.  In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time.   This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function.  If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body.  The
code generators on the other hand map weak and weak_odr linkage
to the same thing.

llvm-svn: 66339
2009-03-07 15:45:40 +00:00
Gabor Greif
97657f3984 document ilist_traits
llvm-svn: 65631
2009-02-27 13:28:07 +00:00
Gabor Greif
55ffced15e Expand a bit on iplist. If you are more expert on this class, please review!
llvm-svn: 65630
2009-02-27 12:02:19 +00:00
Gabor Greif
f727fa8225 update ilist documentation and add some blurb on ilist_node
llvm-svn: 65629
2009-02-27 11:37:41 +00:00
Gabor Greif
3b91310e36 Get rid of the tagging functions and use PointerIntPair.
This means that we have to include an additional header.

This patch should be functionally equivalent. I cannot outrule any performance
degradation, though I do not expect any.

llvm-svn: 61694
2009-01-05 16:05:32 +00:00
Misha Brukman
74411f221b Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
llvm-svn: 60880
2008-12-11 17:34:48 +00:00
Chris Lattner
7c6a0d4d86 This method got renamed, thanks to Mattias Holm for pointing this out.
llvm-svn: 60039
2008-11-25 18:34:50 +00:00
Eric Christopher
f153e3c62e Fix syntax of iterate_complex example. Noticed by Martin!
llvm-svn: 58900
2008-11-08 08:20:49 +00:00
Daniel Dunbar
edea1b15bf Change PointerType::get -> getUnqual
llvm-svn: 57032
2008-10-03 22:17:25 +00:00
Nick Lewycky
d33536e62a Fix documentation for these functions; they do not only modify users within the
block specified by the InstList. Patch by Stefanus Du Toit.

llvm-svn: 56200
2008-09-15 06:31:52 +00:00
Gabor Greif
c940b5b51e Use present tense when talking about User layout. It is implemented now.
llvm-svn: 52699
2008-06-25 00:10:22 +00:00
Chris Lattner
95316306bb Fix typo, fix suggested by Nicholas Olsen
llvm-svn: 52524
2008-06-20 05:03:17 +00:00
Gabor Greif
14dc959397 fix validator warning
llvm-svn: 52461
2008-06-18 14:05:31 +00:00
Gabor Greif
41d941a446 prettify, no semantic changes
llvm-svn: 52460
2008-06-18 13:44:57 +00:00
Gabor Greif
ae2be0f217 Move some documentation from the header file into ProgrammersManual. About to improve.
llvm-svn: 52360
2008-06-16 21:06:12 +00:00
Chris Lattner
d895b277ea Fix inst_iterator example.
llvm-svn: 51954
2008-06-04 18:20:42 +00:00
Chris Lattner
2258e9fd08 simplify this.
llvm-svn: 47187
2008-02-15 22:57:17 +00:00
Chris Lattner
5d4e5f277a add info on walking preds/succs of a block.
llvm-svn: 45537
2008-01-03 16:56:04 +00:00
Nick Lewycky
2127c03226 Type::IntTy hasn't existed for a while. Just sub in Type::Int32Ty.
llvm-svn: 44526
2007-12-03 01:52:52 +00:00
Chris Lattner
f90b39b186 document DenseSet.
llvm-svn: 42475
2007-09-30 00:58:59 +00:00
Chris Lattner
1fc2bda34a explain why not vector<bool>
llvm-svn: 42324
2007-09-25 22:37:50 +00:00
Daniel Berlin
2b33136f50 Add section on bit containers.
(Not the most well written stuff in the universe :P)

llvm-svn: 42267
2007-09-24 17:52:25 +00:00
Chris Lattner
cc315726f7 Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfo
Add a new DenseMapInfo::isEqual method to allow clients to redefine
the equality predicate used when probing the hash table.

llvm-svn: 42042
2007-09-17 18:34:04 +00:00
Gabor Greif
f8138f9cb9 first pass of nomenclature changes in .html files
llvm-svn: 37956
2007-07-06 22:07:22 +00:00
Tanya Lattner
f9b0bbdec0 Modify deleting global variable with an even easier way.
llvm-svn: 37676
2007-06-20 20:46:37 +00:00
Tanya Lattner
14cb38b473 Add blurb on deleting global variables.
llvm-svn: 37674
2007-06-20 18:33:15 +00:00