Commit Graph

2189 Commits

Author SHA1 Message Date
Chris Lattner
76c1b97e40 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42042 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-17 18:34:04 +00:00
Chris Lattner
36597a5ddb Change llvm.gcroot to not init the root to null at runtime, this prevents
using it for live-in values etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41879 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-12 17:53:10 +00:00
Duncan Sands
f7331b3dd7 Fold the adjust_trampoline intrinsic into
init_trampoline.  There is now only one
trampoline intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41841 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-11 14:10:23 +00:00
Nick Lewycky
db7e3c9e99 Fix description of the call instruction. There are two types, with one being
optional.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41785 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-08 13:57:50 +00:00
Anton Korobeynikov
8806c7b1f5 Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-07 11:39:35 +00:00
Duncan Sands
6590b0457c There is an impedance matching problem between LLVM and
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target.  We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require.  I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!).  Instead we need
to append a full-blown catch-all to the end of each
selector.  The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc.  Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos.  Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41484 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 15:47:50 +00:00
Tanya Lattner
5efa7e9c96 Rename llvm-gcc4 to llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41380 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 23:23:23 +00:00
Duncan Sands
c00c2baf48 Implement review feedback on trampoline documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41304 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 23:39:54 +00:00
Reid Spencer
31cac2e04a Who thought up this crazy formatting scheme?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:57:36 +00:00
Reid Spencer
d5d9e6f0c9 Okay, over/back tags don't next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:48:56 +00:00
Reid Spencer
3baa3aac1b Try an indent level for better formatting.
Add the -version option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40902 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:43:48 +00:00
Reid Spencer
acafa2d4c2 Add the code generation options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:12:43 +00:00
Reid Spencer
0ecfb59644 Rearrange options into sections and add the last floating point related option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40895 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:29:57 +00:00
Reid Spencer
b7a54b9b72 Add the -disable-excess-fp-precision option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:23:42 +00:00
Reid Spencer
7223f02755 Add another missing option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:21:52 +00:00
Reid Spencer
2c8a748bbe Add some more missing options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40892 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:11:57 +00:00
Reid Spencer
f0f4dae3b3 Remove the -f option which is no longer supported, but add the -fake-argv0
option which is similar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40891 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 15:48:16 +00:00
Reid Spencer
2c45228651 Describe the global/local naming convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 14:34:28 +00:00
Reid Spencer
944b7f28ac Update links to the command guide generated documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40855 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-05 23:43:44 +00:00
Reid Spencer
0713ca4255 Comment out configuration tags not supported by doxygen 1.3.9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40853 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-05 19:51:03 +00:00
Chandler Carruth
6994040a95 This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:51:18 +00:00
Reid Spencer
1539a1cfc6 fp2uint -> fptoui
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40633 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 14:40:14 +00:00
Duncan Sands
50f19f5860 Forget to add 'nest' to the list of parameter
attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 19:57:41 +00:00
Duncan Sands
36397f5034 Support for trampolines, except for X86 codegen which is
still under discussion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 12:58:54 +00:00
Devang Patel
26e5a309eb Fix example code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40493 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 21:05:39 +00:00
Chris Lattner
b4d2cac15b test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40484 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 06:15:23 +00:00
Bill Wendling
d4fb79364f Fix some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 04:44:02 +00:00
Bill Wendling
462fc8aa8f Converted to "svn" and reformatted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 04:41:42 +00:00
Bill Wendling
0dafa8d086 Small change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40413 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 03:56:42 +00:00
Bill Wendling
ccef69d781 Point to the correct SVN repository.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 03:56:11 +00:00
Chandler Carruth
6813c15e1d No longer referencing "shared memory" as this can confuse people. The memory is
clearly shared between processors if these instructions are being used, no 
further specification of what type of memory is necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 20:14:52 +00:00
Reid Spencer
1cff40819c Silly HTML
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40117 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 20:03:33 +00:00
Reid Spencer
2067764e29 Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 19:59:11 +00:00
Chandler Carruth
2eb93b3f03 This introduces the atomic operation intrinsics into the documentation. This is
a preview for the intrinsics that are going to be implemented over the next few 
weeks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 19:34:37 +00:00
Reid Spencer
9445e9aaa0 For PR1553:
Change the keywords for the zext and sext parameter attributes to be 
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 23:13:04 +00:00
Nick Lewycky
254aa7cf2b Alphabetize. Document -mlimit parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39990 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 04:24:20 +00:00
Dan Gohman
d6257fe581 Fix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
which appears to be the intent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 14:37:41 +00:00
Bill Wendling
18bf0d01b6 Fix validation errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 08:52:56 +00:00
Bill Wendling
22e37c3f7f Clean up some formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 08:46:40 +00:00
Bill Wendling
77f7469981 Clean up some formatting. Add some doc_code div tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39915 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 08:44:39 +00:00
Chris Lattner
744ff41e0e remove obsolete note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39825 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:08:19 +00:00
Chris Lattner
3e63a9d52c fix some bugs in the manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39822 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:01:46 +00:00
Gabor Greif
3bd6e0d9da eliminated all references to 'bytecode' from .pod files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38452 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 11:24:05 +00:00
Reid Spencer
669ed45029 Subversionify the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38442 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 08:04:31 +00:00
Reid Spencer
9be269c8cb Bytecode -> Bitcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38438 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:45:18 +00:00
Reid Spencer
7d3985416f Minor language change upgrader -> upgrade tool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:42:22 +00:00
Reid Spencer
c69f777645 This dir does not appear under /docs anymore but under /cmds so use an
absolute path to the llvm.css file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:32:55 +00:00
Reid Spencer
6e8b5721fd Links for commands are now generated into /cmds/ URL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:31:51 +00:00
Reid Spencer
6232c03354 Fix some minor typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38434 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:14:11 +00:00
Reid Spencer
35931ae073 Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 06:06:45 +00:00