Oscar Fuentes
208a87314b
CMake: Renamed LLVM_ENABLE_ASSERTS to
...
LLVM_ENABLE_ASSERTIONS. Fine-tuned the logic that controls the
definition of NDEBUG and _DEBUG macros.
Thanks to Jay Foad for this suggestions.
llvm-svn: 72864
2009-06-04 09:26:16 +00:00
Torok Edwin
b681144334
lets not forget about c++!
...
llvm-svn: 72778
2009-06-03 15:42:26 +00:00
Oscar Fuentes
6133813eb4
CMake: Implements and documents option LLVM_ENABLE_ASSERTS.
...
llvm-svn: 72774
2009-06-03 15:11:25 +00:00
Torok Edwin
8608a4287d
Document how easy it is to use the gold plugin and have LTO with autotooled projects.
...
Please correct the documentation if I missed anything.
llvm-svn: 72773
2009-06-03 15:06:19 +00:00
Jay Foad
1a4eea5ad6
Document how phi and invoke instructions interact with SSA form.
...
llvm-svn: 72762
2009-06-03 10:20:10 +00:00
Nick Lewycky
8e2c4f4716
Metadata uses metadata type not empty struct.
...
llvm-svn: 72623
2009-05-30 16:08:30 +00:00
Nick Lewycky
adbc284666
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
llvm-svn: 72610
2009-05-30 05:06:04 +00:00
Bruno Cardoso Lopes
9d809cad50
Fix some typos
...
llvm-svn: 72579
2009-05-29 17:08:57 +00:00
Nick Lewycky
aab930a5db
Remove border around table used for layout.
...
llvm-svn: 72357
2009-05-24 02:46:06 +00:00
Dan Gohman
9069d890e8
Add a note mentioning that uses of the return value of an invoke
...
must be dominated by the normal label.
llvm-svn: 72285
2009-05-22 21:47:08 +00:00
Stuart Hastings
6d437694ab
Add some missing steps to the sacred testing ritual scriptures.
...
llvm-svn: 72222
2009-05-21 20:23:59 +00:00
Cristian Cadar
1e059f6080
Test commit.
...
llvm-svn: 72092
2009-05-19 01:56:08 +00:00
Evan Cheng
e87bd1d8f7
Add short descriptions of 'implicit' and 'parallel'.
...
llvm-svn: 72050
2009-05-18 22:14:45 +00:00
Bill Wendling
e9353d7d6f
Formatting. Some updating of data structures. More work needs to be done to update the examples.
...
llvm-svn: 71974
2009-05-17 05:52:39 +00:00
David Greene
3587eed2c4
Implement !if, analogous to $(if) in GNU make.
...
llvm-svn: 71815
2009-05-14 23:26:46 +00:00
David Greene
d571b3c94b
Graduate LLVM to the big leagues by embedding a LISP processor into TableGen.
...
Ok, not really, but do support some common LISP functions:
* car
* cdr
* null
llvm-svn: 71805
2009-05-14 22:38:31 +00:00
David Greene
e917fff30f
Implement a !foreach operator analogous to GNU make's $(foreach).
...
Use it on dags and lists like this:
class decls {
string name;
}
def Decls : decls;
class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;
llvm-svn: 71803
2009-05-14 22:23:47 +00:00
David Greene
98ed3c7273
Implement a !subst operation simmilar to $(subst) in GNU make to do
...
def/var/string substitution on generic pattern templates. For example:
def Type;
def v4f32 : Type;
def TYPE : Type;
class GenType<Type t> {
let type = !(subst TYPE, v4f32, t);
}
def TheType : GenType<TYPE>;
llvm-svn: 71801
2009-05-14 21:54:42 +00:00
David Greene
e8f3b27e65
Implement !cast.
...
llvm-svn: 71794
2009-05-14 21:22:49 +00:00
Jim Grosbach
1a18dcc34a
clean up line-wrapping
...
llvm-svn: 71771
2009-05-14 15:44:15 +00:00
Jim Grosbach
06928192ae
Update the names of the exception handling sjlj instrinsics to
...
llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add
a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html.
(llvm.eh.sjlj.longjmp documentation coming when that implementation is
added).
llvm-svn: 71758
2009-05-14 00:46:35 +00:00
Bill Wendling
f7b83c7ae7
Change MachineInstrBuilder::addReg() to take a flag instead of a list of
...
booleans. This gives a better indication of what the "addReg()" is
doing. Remembering what all of those booleans mean isn't easy, especially if you
aren't spending all of your time in that code.
I took Jakob's suggestion and made it illegal to pass in "true" for the
flag. This should hopefully prevent any unintended misuse of this (by reverting
to the old way of using addReg()).
llvm-svn: 71722
2009-05-13 21:33:08 +00:00
Chris Lattner
784ae669ab
garbage allocation is not a good idea :)
...
llvm-svn: 71680
2009-05-13 18:02:09 +00:00
Bill Wendling
cb368e295d
Use llvm::raw_stream instead of llvm::Streams.
...
llvm-svn: 71573
2009-05-12 18:29:42 +00:00
Nick Lewycky
b8f9b7a965
Make MDNode use CallbackVH. Also change MDNode to store Value* instead of
...
Constant* in preperation of a future change to support holding non-Constants
in an MDNode.
llvm-svn: 71407
2009-05-10 20:57:05 +00:00
Chris Lattner
e648c28e73
fix typo
...
llvm-svn: 71362
2009-05-09 18:11:50 +00:00
Bill Wendling
9ee6a31bb8
Fix typo.
...
llvm-svn: 71260
2009-05-08 20:49:29 +00:00
Duncan Sands
1efabaaa2a
Allow readonly functions to unwind exceptions. Teach
...
the optimizers about this. For example, a readonly
function with no uses cannot be removed unless it is
also marked nounwind.
llvm-svn: 71071
2009-05-06 06:49:50 +00:00
Mikhail Glushenkov
4707bf4057
Regenerate documentation.
...
llvm-svn: 71055
2009-05-06 01:41:47 +00:00
Dan Gohman
d99feb8da4
Add some more documentation for x86 special address spaces.
...
llvm-svn: 71012
2009-05-05 20:48:47 +00:00
Chris Lattner
be9fa506ad
Add basic support for code generation of
...
addrspace(257) -> FS relative on x86. Patch by Zoltan Varga!
llvm-svn: 70992
2009-05-05 18:52:19 +00:00
Anton Korobeynikov
dad5871f84
It turns out that this version of gcc is broken (cygwin is well-known in shipping
...
of broken/buggy/snapshot-based compilers)
llvm-svn: 70848
2009-05-04 10:24:46 +00:00
Chris Lattner
680ae74885
Remove obsolete wording, the only exception a readnone function can throw
...
is the empty set. :) Thanks to Fritz for pointing this out.
llvm-svn: 70790
2009-05-03 19:06:00 +00:00
Chris Lattner
f031421afe
be very explicit that readnone/readonly functions can't
...
throw exceptions.
llvm-svn: 70788
2009-05-03 18:49:37 +00:00
Misha Brukman
3268c95840
HTML-escape '>' as '>' in sample C++ code.
...
llvm-svn: 70569
2009-05-01 20:40:51 +00:00
Jeffrey Yasskin
590dc3c9ac
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
Bill Wendling
084669a1c9
Second attempt:
...
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00
Duncan Sands
75bc2250ca
Fix some confusion in the Ada f-e build instructions between
...
building without optimization and building with checking.
llvm-svn: 70205
2009-04-27 11:21:35 +00:00
Sanjiv Gupta
1f8555a07f
Now that any size of integer indices are allowed for sequential types, remove the unneccessary gyan about promoting them.
...
llvm-svn: 70181
2009-04-27 03:21:00 +00:00
Chris Lattner
a6fdf5a8c9
Add two new record types to the blockinfo block:
...
BLOCKNAME and SETRECORDNAME. This allows a bitcode
file to be self describing with pretty names for
records and blocks in addition to numbers. This
enhances llvm-bcanalyzer to use this to print prettily.
llvm-svn: 70165
2009-04-26 22:21:57 +00:00
Sanjiv Gupta
8d319047c5
Any size of integral indices are allowed in gep for indexing into sequential types. Also adding a test case to check the indices type allowed into struct.
...
llvm-svn: 70134
2009-04-26 17:14:35 +00:00
Chris Lattner
1c1595f9ef
improve documentation on build configurations, patch by
...
Josef Eisl!
llvm-svn: 70087
2009-04-25 22:24:49 +00:00
Chris Lattner
0cb8977c0a
aDd support for building a subset of the llvm tools, patch by Jeffrey Yasskin!
...
llvm-svn: 70082
2009-04-25 22:08:52 +00:00
Chris Lattner
6a6d3cc852
Update docs to not mention gcse/loadvn and mention memdep and
...
new stuff. PR3924.
llvm-svn: 70077
2009-04-25 21:11:37 +00:00
Sanjiv Gupta
0c155e6dbe
Fixed the gep example for i16 type indices.
...
llvm-svn: 70019
2009-04-25 07:27:44 +00:00
Sanjiv Gupta
77abea0d6a
Fixed spaces and the getelementpointer example with i16 type indices.
...
llvm-svn: 69971
2009-04-24 16:38:13 +00:00
Sanjiv Gupta
46c97e626f
Allow i16 type indices to gep.
...
llvm-svn: 69946
2009-04-24 02:37:54 +00:00
David Greene
0e89886048
Fix a documentation bug.
...
llvm-svn: 69923
2009-04-23 21:27:58 +00:00
David Greene
196ac3c69a
Make BinOps typed and require a type specifier for !nameconcat. This
...
allows binops to be used in typed contexts such as when passing
arguments to classes.
llvm-svn: 69921
2009-04-23 21:25:15 +00:00
David Greene
f00919a040
Allow defm to inherit from multiple multiclasses.
...
llvm-svn: 69832
2009-04-22 22:17:51 +00:00
David Greene
a9c6c5d39b
Implement !nameconcat to concatenate strings and look up the resulting
...
name in the symbol table, returning an object.
llvm-svn: 69822
2009-04-22 20:18:10 +00:00
David Greene
753ed8fd9c
Implement multiclass inheritance.
...
llvm-svn: 69810
2009-04-22 16:42:54 +00:00
Dan Gohman
a4fea5b227
ISD::ADD_PARTS is gone; use ISD::SMUL_LOHI as an example instead.
...
llvm-svn: 69804
2009-04-22 15:55:31 +00:00
Duncan Sands
10961cd40a
Make it clearer that llvm-gcc is not needed for
...
building llvm.
llvm-svn: 69441
2009-04-18 12:40:19 +00:00
Jim Grosbach
7da1b90597
Update information on canadian cross builds
...
llvm-svn: 69358
2009-04-17 17:25:16 +00:00
Bill Wendling
64602b1ed6
More obsessive reformatting. Fixed some validation errors.
...
llvm-svn: 69130
2009-04-15 02:12:37 +00:00
Chris Lattner
184f1be4a8
Add a new "available_externally" linkage type. This is intended
...
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.
llvm-svn: 68940
2009-04-13 05:44:34 +00:00
Nick Lewycky
04adcf153d
Add paragraph tags.
...
llvm-svn: 68934
2009-04-13 02:03:40 +00:00
Nick Lewycky
4ac15cee54
Fix compile error. Pointed out by mait on #llvm IRC!
...
llvm-svn: 68910
2009-04-12 20:15:44 +00:00
Misha Brukman
5e8b8b37a3
Fixed spelling.
...
llvm-svn: 68821
2009-04-10 20:48:27 +00:00
Chris Lattner
4c4453061e
fix typo, patch by Shlomi Fish!
...
llvm-svn: 68784
2009-04-10 15:38:51 +00:00
Chris Lattner
3875195865
Remove AllowInverse: it leaks memory and is not the right
...
abstraction for CommandLine.
llvm-svn: 68588
2009-04-08 03:43:51 +00:00
Bill Wendling
b01824afb5
Use 'name' instead of 'href'.
...
llvm-svn: 68534
2009-04-07 18:54:06 +00:00
Bill Wendling
ebb4486a84
Fix verification failure.
...
llvm-svn: 68531
2009-04-07 18:52:30 +00:00
Bill Wendling
bf448a1010
Offer an explanation of why building LLVM-GCC with objdir == srcdir doesn't
...
work.
llvm-svn: 68530
2009-04-07 18:51:13 +00:00
Bill Wendling
1ae487bad5
Another reformatting. No change in docs.
...
llvm-svn: 68528
2009-04-07 18:40:56 +00:00
Chris Lattner
4bda28e765
add a new Blob encoding abbreviation for bitcode files that emits
...
elements in a form that is efficient for the reader to just get a
pointer in memory and start reading. APIs to do efficient reading
and writing are still todo.
llvm-svn: 68465
2009-04-06 21:50:39 +00:00
Chris Lattner
28e2cd8090
clean up some html
...
llvm-svn: 68456
2009-04-06 20:35:19 +00:00
Bill Wendling
d231f8a592
Add character encoding declaration to fix verification warning.
...
llvm-svn: 68440
2009-04-05 12:38:44 +00:00
Bill Wendling
b95325c543
Obsessively format this document.
...
llvm-svn: 68439
2009-04-05 12:37:44 +00:00
Bill Wendling
b4d7102417
Add character encoding declaration.
...
llvm-svn: 68433
2009-04-05 00:44:06 +00:00
Bill Wendling
9216ac0bcc
Fix validation error.
...
llvm-svn: 68432
2009-04-05 00:43:04 +00:00
Bill Wendling
b38e198f02
A lot of formatting changes.
...
llvm-svn: 68431
2009-04-05 00:41:19 +00:00
Bill Wendling
3b779984b4
Fix some HTML validation errors.
...
llvm-svn: 68427
2009-04-04 22:36:02 +00:00
Bill Wendling
e1a070b6e3
General clean-up of the bitcode format documentation. Having the paragraphs
...
formatted the same, putting words in <tt> tags, adding —s, etc.
llvm-svn: 68426
2009-04-04 22:27:03 +00:00
Nick Lewycky
49f891958f
Add support for embedded metadata to LLVM. This introduces two new types of
...
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.
llvm-svn: 68420
2009-04-04 07:22:01 +00:00
Bill Wendling
184064484b
Duplicate entry.
...
llvm-svn: 68401
2009-04-03 20:32:13 +00:00
Chris Lattner
eaa52bc29b
"Add documentation about the fix for missing x86
...
target library in windows under the "Common problems" section."
Patch by Stefanus Du Toit!
llvm-svn: 68399
2009-04-03 20:23:52 +00:00
Chris Lattner
0fc36ca69d
update some syntax
...
llvm-svn: 68362
2009-04-03 00:29:19 +00:00
Chris Lattner
d978cc5c63
add this to SVN to allow collaborative hacking.
...
llvm-svn: 68243
2009-04-01 21:11:04 +00:00
John Mosby
169927e7ef
docs/TestingGuide.html: correction to prev. text (objdir!=srcdir required for running test-suite), removed refs to llvm-test
...
llvm-svn: 68051
2009-03-30 18:56:53 +00:00
Chris Lattner
a01a563813
fix some validation problems.
...
llvm-svn: 68026
2009-03-30 06:34:59 +00:00
John Mosby
b92a76ff4f
Clarify section on setting up and running test-suite
...
llvm-svn: 68023
2009-03-30 04:37:51 +00:00
Bill Wendling
c619aaf122
Update the Visual Studio docs. Patch by Stefanus!
...
llvm-svn: 67940
2009-03-28 10:24:15 +00:00
Mikhail Glushenkov
0f78c2721b
Documentation update.
...
Expand a bit on various '--*-graph' options.
llvm-svn: 67836
2009-03-27 12:58:29 +00:00
Duncan Sands
61837e6dc8
Mention explicitly that the Ada front-end will not bootstrap.
...
The configure line had --disable-bootstrap, but it was not
clear that this is essential.
llvm-svn: 67651
2009-03-24 21:16:39 +00:00
Chris Lattner
57be315d36
tt'ify.
...
llvm-svn: 67505
2009-03-23 04:53:34 +00:00
Chris Lattner
30bc972596
VC++ 6.0 is not future work :)
...
Do not recommend llvm::OStream anymore. Use raw_ostream or MemoryBuffer.
llvm-svn: 67504
2009-03-23 04:52:53 +00:00
Duncan Sands
b1656c1e1f
Add some explanations of how apint loads and stores
...
work.
llvm-svn: 67471
2009-03-22 11:33:16 +00:00
Duncan Sands
0c9742c3ae
Update these for the 2.5 release.
...
llvm-svn: 66890
2009-03-13 13:42:20 +00:00
Gabor Greif
02ab9ab66d
add some text to explain sentinels
...
llvm-svn: 66790
2009-03-12 10:30:31 +00:00
Gabor Greif
4ef9bc053a
minor tweaks
...
llvm-svn: 66788
2009-03-12 09:47:03 +00:00
Gabor Greif
42225e50f3
do not pretend llvm/.../*.h being system headers
...
llvm-svn: 66697
2009-03-11 20:23:40 +00:00
Duncan Sands
4581bebf2a
It makes no sense to have a ODR version of common
...
linkage, so remove it.
llvm-svn: 66690
2009-03-11 20:14:15 +00:00
Gabor Greif
605c7cab75
fix validator errors
...
llvm-svn: 66688
2009-03-11 20:04:08 +00:00
Gabor Greif
bfdf23f07c
Fix exaples using IRBuilder. Thanks, Quadrescence and Glip7 from IRC!
...
llvm-svn: 66687
2009-03-11 19:51:07 +00:00
Duncan Sands
e2881053c9
Remove the one-definition-rule version of extern_weak
...
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.
llvm-svn: 66650
2009-03-11 08:08:06 +00:00
Chris Lattner
dd282825a8
Clarify wording, patch by Stefanus Du Toit!
...
llvm-svn: 66458
2009-03-09 20:55:18 +00:00
Chris Lattner
4ce03e66a1
don't allow hash_map or hash_set.
...
llvm-svn: 66400
2009-03-09 05:20:45 +00:00
Duncan Sands
12da8ce3d2
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