Commit Graph

530 Commits

Author SHA1 Message Date
Duncan Sands
d40d14e98c Vector types are no longer required to have a power-of-two length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90004 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-27 13:38:03 +00:00
Duncan Sands
65687f76c0 These code generator limitations have been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90003 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-27 12:33:22 +00:00
Dan Gohman
7657f6b002 The inbounds keyword isn't relevant to overindexing of
static array types. Thanks to Duncan for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09 19:01:53 +00:00
Dan Gohman
9384438071 Remove the "special case" for zero-length arrays, and rephrase this
paragraph to be more precise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09 18:40:39 +00:00
Chris Lattner
e82bdc4809 add the ability for TargetData to return information about legal integer
datatypes on a given CPU.  This is intended to allow instcombine and other
transformations to avoid converting big sequences of operations to an
inconvenient width, and will help clean up after SRoA.  See also "Adding 
legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451.

Comments welcome.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86370 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-07 09:35:34 +00:00
Bill Wendling
21c346e171 Add missing end-tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85769 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-02 00:25:26 +00:00
Bill Wendling
f82d40a33c Some formatting changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-02 00:24:16 +00:00
Chris Lattner
cdfc940912 Revert 85678/85680. The decision is to stay with the current form of
indirectbr, thus we don't need "blockaddr(@func, null)".  Eliminate it
for simplicity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 01:27:45 +00:00
Chris Lattner
7d83ebcadd Make blockaddress(@func, null) be valid, and make 'deleting a basic
block with a blockaddress still referring to it' replace the invalid 
blockaddress with a new blockaddress(@func, null) instead of a 
inttoptr(1).

This changes the bitcode encoding format, and still needs codegen 
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-31 20:08:37 +00:00
Gabor Greif
a5b6f45b68 use metavariable <result> instead of SSA name %result for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 13:14:50 +00:00
Gabor Greif
ec58f75d7d ooops, SSA name should not be part of the link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 13:05:07 +00:00
Gabor Greif
6a29201565 advertise new syntax for unnamed instructions
and eliminate confusing double-use of SSA names
(work in progress)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 09:21:30 +00:00
Chris Lattner
ab21db79ef rename indbr -> indirectbr to appease the residents of #llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85351 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 00:19:10 +00:00
Chris Lattner
569d9d910b typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:52:54 +00:00
Chris Lattner
2dfdf2ab3c you can't take the address of the entry block of a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:49:40 +00:00
Chris Lattner
3fd77cefc1 improvements from gabor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:44:20 +00:00
Chris Lattner
f9d078e336 fix things pointed out by Dan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:19:13 +00:00
Chris Lattner
c6f44369c3 document the forthcoming blockaddress constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 21:01:34 +00:00
Chris Lattner
5f75cf511b fix pasto pointed out by Rafael
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85294 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 20:27:24 +00:00
Chris Lattner
f9be95f867 add enough support for indirect branch for the feature test to pass
(assembler,asmprinter, bc reader+writer) and document it.  Codegen
currently aborts on it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 19:13:16 +00:00
Nick Lewycky
8d33659b93 Fix reversed logic spotted by Owen Anderson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 16:56:58 +00:00
Victor Hernandez
2fee294b3c Remove all references to MallocInst and FreeInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 23:44:29 +00:00
Dale Johannesen
8ba2d5befc Rename msasm to alignstack per review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:28:00 +00:00
Dale Johannesen
09fed25a07 Documentation for the new msasm flag, which is no
worse than the rest of the asm documentation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84037 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 21:56:55 +00:00
Nick Lewycky
321333e51e Force memory use markers to have a ConstantInt for the size argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:57:33 +00:00
Nick Lewycky
cc271861da Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
sections of memory objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:03:23 +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
Chris Lattner
5a2d87541f fix broken anchors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-10 18:26:06 +00:00
Nick Lewycky
c261df9fab Remove the "metadata*" type and simplify the code it complicated. This was only
used to support GlobalVariables storing MDNodes, back when they were derived
from Constant before the introduction of NamedMDNode, but never removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82943 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 23:27:42 +00:00
Nick Lewycky
513869453b Remove dead code from this function and optimize. Update its corresponding
LangRef entry too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 07:55:32 +00:00
Nick Lewycky
ec38da42c8 Move the integer type out of 'derived' and into 'primitive'. This permits us
to explain that derived types are all composed of other types, which primitive
types aren't. Without moving integer out of derived, this wouldn't be true.

Perform a few trivial cleanups; 'i1' went from a link to #t_primitive to
#t_integer (a holdover from when it was a bool type I suppose).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 00:45:11 +00:00
Dale Johannesen
9f8380b425 Revise C library functions description to be vaguer, per Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 17:04:42 +00:00
Dale Johannesen
07de8d1acf Clarify that llvm attaches C language semantics to
functions with names that match the C library.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82701 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24 18:38:21 +00:00
Chris Lattner
c608cb14a7 more typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81499 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 01:49:31 +00:00
Chris Lattner
8e371aa7b6 another typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 19:45:34 +00:00
Chris Lattner
349eb41af4 fix a couple typos pointed out by edwin and duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81219 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 15:13:16 +00:00
Chris Lattner
6e9057b0ef add some more notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07 23:33:52 +00:00
Chris Lattner
48a109c36c describe undef semantics in some more detail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07 22:52:39 +00:00
Dan Gohman
fdfca79de0 Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 17:31:42 +00:00
Dale Johannesen
de86d473fc Add an 'inline hint' attribute to represent source
code hints that it would be a good idea to inline
a function ("inline" keyword).  No functional change
yet; FEs do not emit this and inliner does not use it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 01:08:21 +00:00
Chris Lattner
e1eaf916f0 improve documentation for linker_private linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:32:16 +00:00
Dan Gohman
b255b88f06 Clarify a few things in the inbounds description.
Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 17:08:17 +00:00
Chris Lattner
cd81f5df27 common globals may also not be marked constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:41:44 +00:00
Chris Lattner
26d054d903 Clarify common linkage and the requirements on it. Enforce
them in the verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 05:21:07 +00:00
Dan Gohman
0a28d18cd4 Add one-past-the-end language to the inbounds keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 16:00:30 +00:00
Chris Lattner
c8eef440f6 some wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 06:44:13 +00:00
Andreas Bolka
55e459aa75 Fix a few typos and add links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77403 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 00:02:05 +00:00
Dan Gohman
dd8004dc73 Add a new keyword 'inbounds' for use with getelementptr. See the
LangRef.html changes for details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 21:53:46 +00:00
Andreas Bolka
99a8205ae3 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 20:37:10 +00:00
Dan Gohman
556ca272fb Following discussion on llvm-dev ("proposed new rule for getelementptr"),
add a new "Pointer Aliasing Rules" section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 18:07:55 +00:00