History log of /external/llvm/lib/AsmParser/LLParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/AsmParser/LLParser.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/AsmParser/LLParser.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/AsmParser/LLParser.cpp
27457ac42f7a9267ab7e0190424a95fecf0ea201 09-Dec-2013 Manman Ren <manman.ren@gmail.com> Merging r196158:
------------------------------------------------------------------------
r196158 | mren | 2013-12-02 13:29:56 -0800 (Mon, 02 Dec 2013) | 12 lines

Debug Info: drop debug info via upgrading path if version number does not match.

Add a helper function getDebugInfoVersionFromModule to return the debug info
version number for a module.

"Verifier/module-flags-1.ll" checks for verification errors.
It will seg fault when calling getDebugInfoVersionFromModule because of the
incorrect format for module flags in the testing case. We make
getModuleFlagsMetadata more robust by checking for error conditions.

PR17982

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
59d3ae6cdc4316ad338cd848251f33a236ccb36c 15-Nov-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Add addrspacecast instruction.

Patch by Michele Scandale!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
623d2e618f4e672c47edff9ec63ed6d733ac81d3 09-Nov-2013 Juergen Ributzka <juergen@apple.com> [Stackmap] Add AnyReg calling convention support for patchpoint intrinsic.

The idea of the AnyReg Calling Convention is to provide the call arguments in
registers, but not to force them to be placed in a paticular order into a
specified set of registers. Instead it is up tp the register allocator to assign
any register as it sees fit. The same applies to the return value (if
applicable).

Differential Revision: http://llvm-reviews.chandlerc.com/D2009

Reviewed by Andy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
19794da02cc48a772ae6f4756b14b111a627170e 01-Nov-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove linkonce_odr_auto_hide.

linkonce_odr_auto_hide was in incomplete attempt to implement a way
for the linker to hide symbols that are known to be available in every
TU and whose addresses are not relevant for a particular DSO.

It was redundant in that it all its uses are equivalent to
linkonce_odr+unnamed_addr. Unlike those, it has never been connected
to clang or llvm's optimizers, so it was effectively dead.

Given that nothing produces it, this patch just nukes it
(other than the llvm-c enum value).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2ddc56dec8e523cee56d36e2e4c9a1c469e72e1c 31-Oct-2013 Andrew Trick <atrick@apple.com> Add new calling convention for WebKit Java Script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
69bd41dfe33f24414be281ba5e2204b7348c33ae 27-Oct-2013 Shuxin Yang <shuxin.llvm@gmail.com> Revert r193251 : Use address-taken to disambiguate global variable and indirect memops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8e3851a6eb9fe5fc30094c3a00d2b89c7cd68cbd 23-Oct-2013 Shuxin Yang <shuxin.llvm@gmail.com> Use address-taken to disambiguate global variable and indirect memops.

Major steps include:
1). introduces a not-addr-taken bit-field in GlobalVariable
2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable
dosen't have its address taken.
3). AA use this info for disambiguation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1a525e8c80305777e3ca0cba0e1903fdbf04aa86 09-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a GlobalAlias::isValidLinkage to reduce code duplication.

Thanks to Reid Kleckner for the suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2def17935c87f5e6b23d899567ef3dd00ed89d48 06-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Add support for aliases with linkonce_odr.

This will be used to extend constructor aliases in clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8819c84aed10777ba91d4e862229882b8da0b272 01-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove several unused variables.

Patch by Alp Toker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
804f034bd18789e9bbf4c70c10189dd6dbf04128 28-Sep-2013 Manman Ren <manman.ren@gmail.com> AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format.

We treat TBAA tags as struct-path aware TBAA format when the first operand
is a MDNode and the tag has 3 or more operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1e3037f0be430ef2339838bbdede11f45658bd82 16-Sep-2013 Peter Collingbourne <peter@pcc.me.uk> Implement function prefix data as an IR feature.

Previous discussion:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html

Differential Revision: http://llvm-reviews.chandlerc.com/D1191

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5768bb8d77892926dff0d078b1fb08c14ea791f3 23-Aug-2013 Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> Add function attribute 'optnone'.

This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the
exception of interprocedural optimization passes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ac226bbf457f6b5e5210a4a82b1ce678298b2d89 12-Jul-2013 Charles Davis <cdavis5x@gmail.com> Target/X86: Add explicit Win64 and System V/x86-64 calling conventions.

Summary:
This patch adds explicit calling convention types for the Win64 and
System V/x86-64 ABIs. This allows code to override the default, and use
the Win64 convention on a target that wants to use SysV (and
vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU
attributes.

Reviewers:

CC:

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dc89737bcdbb8f69d8ae7578bdfa904cabcfc5ed 06-Jul-2013 Nick Lewycky <nicholas@mxc.ca> Extend 'readonly' and 'readnone' to work on function arguments as well as
functions. Make the function attributes pass add it to known library functions
and when it can deduce it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2253a2f52f3c46ae75cd05f5885acb987bd1d6b6 27-Jun-2013 Michael Gottesman <mgottesman@apple.com> Added support for the Builtin attribute.

The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin,

rdar://problem/13727199

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
77226a03dca98e6237c1068f2652fe41bea7b687 24-May-2013 Diego Novillo <dnovillo@google.com> Add a new function attribute 'cold' to functions.

Other than recognizing the attribute, the patch does little else.
It changes the branch probability analyzer so that edges into
blocks postdominated by a cold function are given low weight.

Added analysis and code generation tests. Added documentation for the
new attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5c332dbd30d9398ed25b30c3080506f7b8e92290 05-May-2013 Dmitri Gribenko <gribozavr@gmail.com> Add ArrayRef constructor from None, and do the cleanups that this constructor enables

Patch by Robert Wilhelm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
59eb5eeca7e49389ddde546e6b6ebba945b3dfc4 22-Apr-2013 Eli Bendersky <eliben@google.com> Fix for PR 14965: Better error message for GEP with partially defined contents


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b0aeb3e077679b5846b3f273baee2872ab176e1e 20-Apr-2013 Stephen Lin <stephenwlin@gmail.com> Move 'kw_align' case to proper section, reorganize function attribute keyword case statements to be consistent with r179119


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
456ca048af35163b9f52187e92a23ee0a9f059e8 20-Apr-2013 Stephen Lin <stephenwlin@gmail.com> Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c0b4b6724c5887c839e236bea97016028fb5db19 18-Apr-2013 Bill Wendling <isanbard@gmail.com> Fix comment. Patch by Stephen Lin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
239e1e49383ff6a1368869bb4b8e9b1c16629225 09-Apr-2013 Chandler Carruth <chandlerc@gmail.com> Rationalize the formatting of these case labels. Having two sorted
columns is essentially impossible to edit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8eec41fc778e99d42172a7f6de76faa43a6d8847 26-Feb-2013 Kostya Serebryany <kcc@google.com> Unify clang/llvm attributes for asan/tsan/msan (LLVM part)

These are two related changes (one in llvm, one in clang).
LLVM:
- rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
- rename thread_safety => sanitize_thread
- rename no_uninitialized_checks -> sanitize_memory

CLANG:
- add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
- add __attribute__((no_sanitize_thread))
- add __attribute__((no_sanitize_memory))

for S in address thread memory
If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
set llvm attribute sanitize_S


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
143d46476cdcf5b88b9ee18ebd799e5820a2db0e 22-Feb-2013 Bill Wendling <isanbard@gmail.com> Implement the NoBuiltin attribute.

The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should
not treat the callee function as a built-in function. I.e., it shouldn't try to
replace that function with different code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
27d844f4d0fa82e89bd0a1d10b477338f970b8f7 14-Feb-2013 Chad Rosier <mcrosier@apple.com> Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f54676234a9826fc987512301d4dea36405c2c42 12-Feb-2013 Bill Wendling <isanbard@gmail.com> Merge the collected attributes into the call instruction's attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ab39afa9d9b99c61842c8e3d0eb706bd16efdcf3 11-Feb-2013 Kostya Serebryany <kcc@google.com> [tsan/msan] adding thread_safety and uninitialized_checks attributes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3f87d23a3dc33afa8e9f6e8853fe4b9717c8cf8d 11-Feb-2013 Bill Wendling <isanbard@gmail.com> Eat the alignment keyword if we're in an attribute group.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0f7422057e7cf0426f5bb293107b756b5de80523 10-Feb-2013 Bill Wendling <isanbard@gmail.com> Use a 'continue' here to stop from double lexing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0b77866f938315f5d21ad5dce774482528b8835d 09-Feb-2013 Bill Wendling <isanbard@gmail.com> TEMPORARY SYNTAX CHANGE!

The original syntax for the attribute groups was ambiguous. For example:

declare void @foo() #1
#0 = attributes { noinline }

The '#0' would be parsed as an attribute reference for '@foo' and not as a
top-level entity. In order to continue forward while waiting for a decision on
what the correct syntax is, I'm changing it to this instead:

declare void @foo() #1
attributes #0 = { noinline }

Repeat: This is TEMPORARY until we decide what the correct syntax should be.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
baad55c3ab85d57003e9711084f1a95fcab76fdf 08-Feb-2013 Bill Wendling <isanbard@gmail.com> Parse the attribute group reference on a function.

Attribute references are of this form:

define void @foo() #0 #1 #2 { ... }

Parse them for function attributes. If there's more than one reference, then
they are merged together.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ea007fa608146acdfc5b889a1d86a4ac7c528bf7 08-Feb-2013 Bill Wendling <isanbard@gmail.com> Use ParseFnAttributeValuePairs instead of ParseOptionalFuncAttrs

The functionality of ParseOptionalFuncAttrs was there in
ParseFnAttributeValuePairs. So just use that instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
95ce4c2ffb0ff31a79b060fb112659322a5be3bf 06-Feb-2013 Bill Wendling <isanbard@gmail.com> Initial submission for the attribute group feature.

Attribute groups are of the form:

#0 = attributes { noinline "no-sse" "cpu"="cortex-a8" alignstack=4 }

Target-dependent attributes are represented as strings. Attributes can have
optional values associated with them. E.g., the "cpu" attribute has the value
"cortex-a8".

Target-independent attributes are listed as enums inside the attribute classes.

Multiple attribute groups can be referenced by the same object. In that case,
the attributes are merged together.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a2de37c897556fbd1f94a3ed84ad27accd8f8deb 05-Feb-2013 Michael Gottesman <mgottesman@apple.com> Added LLVM Asm/Bitcode Reader/Writer support for new IR keyword externally_initialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
73dee180c836270644dfa7d90f9c5ba877567999 31-Jan-2013 Bill Wendling <isanbard@gmail.com> Make sure that the Attribute object represents one attribute only.

Several places were still treating the Attribute object as respresenting
multiple attributes. Those places now use the AttributeSet to represent
multiple attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a1683d6c4835c953bbab12f54b70b9a75cfe01f4 27-Jan-2013 Bill Wendling <isanbard@gmail.com> Use the AttributeSet instead of AttributeWithIndex.

In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
114baee1fa017daefad2339c77b45b9ca3d79a41 23-Jan-2013 Bill Wendling <isanbard@gmail.com> Add the IR attribute 'sspstrong'.

SSPStrong applies a heuristic to insert stack protectors in these situations:

* A Protector is required for functions which contain an array, regardless of
type or length.

* A Protector is required for functions which contain a structure/union which
contains an array, regardless of type or length. Note, there is no limit to
the depth of nesting.

* A protector is required when the address of a local variable (i.e., stack
based variable) is exposed. (E.g., such as through a local whose address is
taken as part of the RHS of an assignment or a local whose address is taken as
part of a function argument.)

This patch implements the SSPString attribute to be equivalent to
SSPRequired. This will change in a subsequent patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d80d608f768e0083122f74df80465effcd70f076 07-Jan-2013 David Tweed <david.tweed@arm.com> There was a switch fall-through in the parser for textual LLVM that caused
bogus comparison operands to default to eq/oeq. Fix that, fix a couple of
tests that accidentally passed and test for bogus comparison opeartors
explicitly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
94e94b350652d3a71993bbc7d44afbe3b304605e 30-Dec-2012 Bill Wendling <isanbard@gmail.com> Use the predicate methods off of AttributeSet instead of Attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
67ae13575900e8efd056672987249fd0adbf5e73 20-Dec-2012 James Molloy <james.molloy@arm.com> Add a new attribute, 'noduplicate'. If a function contains a noduplicate call, the call cannot be duplicated - Jump threading, loop unrolling, loop unswitching, and loop rotation are inhibited if they would duplicate the call.

Similarly inlining of the function is inhibited, if that would duplicate the call (in particular inlining is still allowed when there is only one callsite and the function has internal linkage).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
034b94b17006f51722886b0f2283fb6fb19aca1f 19-Dec-2012 Bill Wendling <isanbard@gmail.com> Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
99faa3b4ec6d03ac7808fe4ff3fbf3d04e375502 08-Dec-2012 Bill Wendling <isanbard@gmail.com> s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e01b81be33ebbc3e087d758341de0c2ba5d44135 05-Dec-2012 Bill Wendling <isanbard@gmail.com> Split up the ParseOptionalAttrs method into three different methods for each
class of attributes. This makes it much easier to check for errors and to reuse
the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3defc0bfa600cc253f0cba0fe781aa49435d968a 28-Nov-2012 Bill Wendling <isanbard@gmail.com> Add back support for reading and parsing 'deplibs'.

This is for backwards compatibility for pre-3.x bc files. The code reads the
code, but does nothing with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
efd08d413c077956478fbde90fd65aa6f179bb39 27-Nov-2012 Bill Wendling <isanbard@gmail.com> Remove the dependent libraries feature.

The dependent libraries feature was never used and has bit-rotted. Remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
15c13d3e63d7745bccad74d547af4e3482193eaa 27-Nov-2012 Michael Ilseman <milseman@apple.com> Fast-math flags for LLVM IR parsing and printing

Added in the ability to read LLVM IR text that contains fast-math flags as a sequence of capital letters separated by spaces in any order. Added in the printing of the fast-math flags in a canonical order, and don't print the other flags when 'fast' is specified, as 'fast' implies all the others.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0976e00fd1cbf4128daeb72efd8957d00383fda9 20-Nov-2012 Bill Wendling <isanbard@gmail.com> Make the AttrListPtr object a part of the LLVMContext.

When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
eaff2d55a988aa107ca6fe19e2220d8672770da5 16-Nov-2012 Justin Holewinski <jholewinski@nvidia.com> Preserve address space of forward-referenced global variables in the LL parser

Before, the parser would assert on the following code:

@a2 = global i8 addrspace(1)* @a
@a = addrspace(1) global i8 0

because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing
the initializer for @a2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
407a6169b729c72c3a7ddb01b8454ab0b4f6897c 15-Nov-2012 Michael Ilseman <milseman@apple.com> Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2333e29be441d9d55920651e0b2add23ab0c1613 13-Nov-2012 Duncan Sands <baldrick@free.fr> Relax the restrictions on vector of pointer types, and vector getelementptr.
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type. This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever. Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types. This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9a419f656e278b96e9dfe739cd63c7bff9a4e1fd 30-Oct-2012 Quentin Colombet <qcolombet@apple.com> Change ForceSizeOpt attribute into MinSize attribute

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3575222175b4982f380ff291bb17be67aadc0966 24-Oct-2012 Elena Demikhovsky <elena.demikhovsky@intel.com> Special calling conventions for Intel OpenCL built-in library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e743942bc8f8b067e014b8cbd2a205a53c7c67f9 22-Oct-2012 Nadav Rotem <nrotem@apple.com> Add the "ForceSizeOpt" attribute.

Patch by Quentin Colombet <qcolombet@apple.com>

Original description:
"""
The attached patch is the first step to have a better control on Oz related optimizations.
The Oz optimization level focuses on code size, thus I propose to add an attribute called ForceSizeOpt.
"""



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
702cc91aa1bd41540e8674921ae7ac89a4ff061f 15-Oct-2012 Bill Wendling <isanbard@gmail.com> Move the Attributes::Builder outside of the Attributes class and into its own class named AttrBuilder. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
07aae2e7d58fe23e370e0cbb9e1a3def99434c36 15-Oct-2012 Bill Wendling <isanbard@gmail.com> Add an enum for the return and function indexes into the AttrListPtr object. This gets rid of some magic numbers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cb3de0bc800d7920087b19bb12a545d4cc84114e 15-Oct-2012 Bill Wendling <isanbard@gmail.com> Attributes Rewrite

Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
7be7848e17f60825f5fbc177b8a25909a30ddb00 14-Oct-2012 Bill Wendling <isanbard@gmail.com> Remove operator cast method in favor of querying with the correct method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
64ea275fe4e85f112ccfaf9c7b56fe64e11c771f 11-Oct-2012 Nick Lewycky <nicholas@mxc.ca> Don't crash if a .ll file contains a forward-reference that looks like a global
value but later turns out to be a function.

Unfortunately, we can't fold tests into a single file because we only get one
error out of llvm-as.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dc4efcbdba7b9a8868ca7e329116910be894ca47 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Use the enum value of the attributes when removing them from the attributes builder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2e879bcd52583335c753c005d203bf2ffe8b67b5 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Use the enum value of the attributes when adding them to the attributes builder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6765834754cbb3cb0f15b4b15e98c5e73fa50066 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Create enums for the different attributes.

We use the enums to query whether an Attributes object has that attribute. The
opaque layer is responsible for knowing where that specific attribute is stored.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8831c0605bbc0c82ce56c2fb85bd681d1c013925 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Convert to using the Attributes::Builder interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f385f4ca1c7c3975779400dc2acf494878a8d6d4 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Use the Attributes::Builder to build the attributes in the parser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0327244ec62f8bfbc5911b3df7253fe6aa9a51cf 09-Oct-2012 Bill Wendling <isanbard@gmail.com> Convert the LLVM parser over to using the new Attributes::Builder to build its
attributes objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e53d6051b7e173722351a5647bfd71eebee3d837 01-Oct-2012 Micah Villmow <villmow@gmail.com> Add in support for SPIR to LLVM core. This adds a new target and two new calling conventions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dc998ccb6573fb3cd6fc008b1efa9709d67af00e 29-Sep-2012 Bill Wendling <isanbard@gmail.com> Don't use bit-wise operations to query for inclusion/exclusion of attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
30b483c94001927b3593ed200e823104bab51660 21-Sep-2012 Bill Wendling <isanbard@gmail.com> Encapsulate the "construct*AlignmentFromInt" functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ef99fe8efaa6cb74c66e570a6ef467debca92911 21-Sep-2012 Bill Wendling <isanbard@gmail.com> Make the 'get*AlignmentFromAttr' functions into member functions within the Attributes class. Now with fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4aa189909a194b4b858aefa0c186fa6504845bfd 20-Sep-2012 Bill Wendling <isanbard@gmail.com> Revert r164308 to fix buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f2e89e00b4c4ecfa5a092a479ccab1ed8677eede 20-Sep-2012 Bill Wendling <isanbard@gmail.com> Make the 'get*AlignmentFromAttr' functions into member functions within the Attributes class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e603fe46649aee6f6aeca1668f0b617818af1e1d 20-Sep-2012 Bill Wendling <isanbard@gmail.com> Convert some attribute existence queries over to use the predicate methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
581600bfc3060ee13afb278cd87e25da5b5f7db2 05-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Enumerate the InlineAsm dialects and rename the nsdialect to
inteldialect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
36547343abb7f79ead953817b0d36a27f6082177 05-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Emit the (new) inline asm Non-Standard Dialect attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4e2132e7ae4b41ff6093bbaebcb852105277ac53 05-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. This
implementation does not co-exist well with how the sideeffect and alignstack
attributes are handled. The reverts r161641.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
32811bef956e0fae4329e6515420d85f7e510660 17-Aug-2012 Bill Wendling <isanbard@gmail.com> Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
make it more consistent with its intended semantics.

The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.

The intended semantic is more like the `linkonce_odr' linkage type.

Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.

Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
249d670dd0f6f151858195701df64fbd005615e7 10-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute.

This new attribute is intended to be used by the backend to determine how
the inline asm string should be parsed/printed. This patch adds the
ia_nsdialect attribute and also adds a test case to ensure the IR is
correctly parsed, but there is no functional change at this time.

The standard dialect is assumed to be AT&T. Therefore, this attribute
should only be added to MS-style inline assembly statements, which use
the Intel dialect. If we ever support more dialects we'll need to
add additional state to the attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ce718ff9f42c7da092eaa01dd0242e8d5ba84713 23-Jun-2012 Hans Wennborg <hans@hanshq.net> Extend the IL for selecting TLS models (PR9788)

This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as

@x = thread_local(initialexec) global i32 42

if it will not be used in a shared library that is dlopen'ed.

If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d509d0b532ec2358b3f341d4a4cd1411cb8b5db2 28-May-2012 Chris Lattner <sabre@nondot.org> switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
858143816d43e58b17bfd11cb1b57afbd7f0f893 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e185fada9bed375b7d73cfc675a466f0da843191 06-Feb-2012 Bill Wendling <isanbard@gmail.com> [unwind removal] Remove the 'unwind' instruction parsing bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
18c7f80b3e83ab584bd8572695a3cde8bafd9d3c 05-Feb-2012 Chris Lattner <sabre@nondot.org> reapply the patches reverted in r149470 that reenable ConstantDataArray,
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul. Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
af393689887c2f353aa45828b455db85e0b27594 02-Feb-2012 Pete Cooper <peter_cooper@apple.com> Typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
91766fe066efe6e0969ba805a2e3726a70ed34a3 01-Feb-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail.

These are:

r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6a89228faca4b30c4abc29b5dec98bdac011ea4c 31-Jan-2012 Chris Lattner <sabre@nondot.org> eliminate the "string" form of ConstantArray::get, using
ConstantDataArray::getString instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
164b86b4399559e45fab7846f1e3e09119cab4e2 20-Jan-2012 Kostya Serebryany <kcc@google.com> Extend Attributes to 64 bits

Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
732f05c41f177a0bc4d47e93a5d02120f146cb4c 10-Jan-2012 Chandler Carruth <chandlerc@gmail.com> Add 'llvm_unreachable' to passify GCC's understanding of the constraints
of several newly un-defaulted switches. This also helps optimizers
(including LLVM's) recognize that every case is covered, and we should
assume as much.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2bd335470f8939782f3df7f6180282d3825d4f09 10-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unnecessary default cases in switches that cover all enum values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ce16339930a2b03e53b4e6399ef59c092a7f2cfa 17-Dec-2011 Dan Gohman <gohman@apple.com> The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
85dadecbd664f60f0c7e4fbb44f083d43d01cfb7 06-Dec-2011 Benjamin Kramer <benny.kra@googlemail.com> Push StringRefs through the metadata interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1608769abeb1430dc34f31ffac0d9850f99ae36a 05-Dec-2011 Nadav Rotem <nadav.rotem@intel.com> Add support for vectors of pointers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fbe910e7f432682457a7b3b9319f618dd66ddcd4 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove asmparsing and documentation support for "volatile load", which was only produced by LLVM 2.9 and earlier. LLVM 3.0 and later prefers "load volatile".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a7e6f74631d8a484b3c8e0d9546c221824ab42a5 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove autoupgrade support for really old-style debug info intrinsics.
I think this is the last of autoupgrade that can be removed in 3.1.
Can the atomic upgrade stuff also go?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9d5f6ccd26615592361baa299fc5b450501fb1b0 27-Nov-2011 Chris Lattner <sabre@nondot.org> remove autoupgrade support for LLVM 2.9 exception stuff. Mainline supports
LLVM 3.0 and later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d8ffe5bb162bf97a7b0a323d2edcf8b83ca5dada 18-Oct-2011 Lang Hames <lhames@gmail.com> Backing out patch. Will refactor to remove the AsmParser dependency on Target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5fa792e65a2da4f24c70772cecccb1e04d9a38e7 18-Oct-2011 Lang Hames <lhames@gmail.com> Re-applying the target data layout verification patch from r142288, plus appropriate CMake dependencies.
Thanks to Raphael Espindola for tracking down the CMake issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
10820d9a9754987533fd7a8b50b03831781cbd65 18-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> 142288 broke the build:

Linking CXX executable ../../bin/llvm-as
../../lib/libLLVMAsmParser.a(LLParser.cpp.o):/home/espindola/llvm/llvm/lib/AsmParser/LLParser.cpp:function llvm::LLParser::ParseTargetDefinition(): error: undefined reference to 'llvm::TargetData::parseSpecifier(llvm::StringRef, llvm::TargetData*)'
clang-3: error: linker command failed with exit code 1 (use -v to see invocation)

Revert "Validate target data layout strings."

This reverts commit 599d2d4c25d3aee63a21d9c67a88cd43bd971b7e.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
599d2d4c25d3aee63a21d9c67a88cd43bd971b7e 18-Oct-2011 Lang Hames <lhames@gmail.com> Validate target data layout strings.
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
25456ef74ca7ac9bf46451f28d995f785e2596de 03-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> Add the returns_twice attribute to LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
df77a71790bb876b6314275bac534c5c3278c743 27-Aug-2011 Bill Wendling <isanbard@gmail.com> Auto upgrade the old EH scheme to use the new one. This is on a trial basis. If
things to disasterously over night, this can be reverted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
10077194ece7fe7201a4a35b1e93a74112aae60a 18-Aug-2011 Duncan Sands <baldrick@free.fr> Remove unused variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f03bb260c90ad013aa4e55af36382875011c95b8 13-Aug-2011 Eli Friedman <eli.friedman@gmail.com> Move "atomic" and "volatile" designations on instructions after the opcode
of the instruction.

Note that this change affects the existing non-atomic load and store
instructions; the parser now accepts both forms, and the change is noted
in the release notes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
746c882538fb1def27b61f06ce03b320858b1b89 12-Aug-2011 Bill Wendling <isanbard@gmail.com> Add checks for the landingpad instruction's clause values to make sure that
they're the correct type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e6e8826870bee3facb04f950f0bd725f8a88623d 12-Aug-2011 Bill Wendling <isanbard@gmail.com> Initial commit of the 'landingpad' instruction.

This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3ebb64946bc8e7c8feba1b2044e7a47f80b3a83f 12-Aug-2011 Chris Lattner <sabre@nondot.org> switch to use the new api for structtypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
21006d40ac9ec7715bca2095451075a83773dc52 10-Aug-2011 Eli Friedman <eli.friedman@gmail.com> Representation of 'atomic load' and 'atomic store' in IR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1488f76ed95c88dfcf61c193f0e3b715f23838cc 03-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dccc03b2423fe65efb5963ae816b99c24fc53374 31-Jul-2011 Bill Wendling <isanbard@gmail.com> Add the 'resume' instruction for the new EH rewrite.

This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
10c6d12a9fd4dab411091f64db4db69670b88850 30-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ff03048c1350fcc4fda1ef6d6c57252f3a950854 28-Jul-2011 Eli Friedman <eli.friedman@gmail.com> LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
7379b6650008fba555d5472d5c76e8efc59e8a21 28-Jul-2011 Bill Wendling <isanbard@gmail.com> The personality function should be a Function* and not just a Value*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
28d735230f0b3ac964f07e91594fb6c38772f0e6 28-Jul-2011 Bill Wendling <isanbard@gmail.com> Make sure that the landingpad instruction takes a Constant* as the clause's value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
772fe17a6d07304ae2e6b3052bbb24ebb751f0f3 27-Jul-2011 Bill Wendling <isanbard@gmail.com> Merge the contents from exception-handling-rewrite to the mainline.

This adds the new instructions 'landingpad' and 'resume'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
47f3513dd574535aeb40c9eb11134f0899e92269 26-Jul-2011 Eli Friedman <eli.friedman@gmail.com> Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.

This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a9203109f4ac95aa7e9624f2838e3d89623ec902 25-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert GetElementPtrInst to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4b5e207bf24ea9799547a0634acaf7398b32897c 21-Jul-2011 Jay Foad <jay.foad@gmail.com> Make better use of ConstantExpr::getGetElementPtr's InBounds parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dab3d29605a5c83db41b28176273ef55961120c1 21-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
39b5abf507b43da6b92f68b86406e0015ead18e9 18-Jul-2011 Frits van Bommel <fvbommel@gmail.com> Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used.
Mostly mechanical with some manual reformatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a3efbb15ddd5aa9006564cd79086723640084878 15-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert CallInst and InvokeInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fc6d3a49867cd38954dc40936a88f1907252c6d2 13-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5fdd6c8793462549e3593890ec61573da06e3346 12-Jul-2011 Jay Foad <jay.foad@gmail.com> Second attempt at de-constifying LLVM Types in FunctionType::get(),
StructType::get() and TargetData::getIntPtrType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2280ebd61416b73d0b6137f275b25af82e268d1f 12-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r134893 and r134888 (and related patches in other trees). It was causing
an assert on Darwin llvm-gcc builds.

Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.

http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354

--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f362affa3a695164a94d275fb44d18f44ebb855a 11-Jul-2011 Jay Foad <jay.foad@gmail.com> De-constify Types in FunctionType::get().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/AsmParser/LLParser.cpp
267010864e139781ef5949939e081c41f954de0a 22-Jun-2011 Jay Foad <jay.foad@gmail.com> Replace the existing forms of ConstantArray::get() with a single form
that takes an ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b065b06c12dba6001b8140df2744d0c856ef6ea1 20-Jun-2011 Chris Lattner <sabre@nondot.org> Revamp the "ConstantStruct::get" methods. Previously, these were scattered
all over the place in different styles and variants. Standardize on two
preferred entrypoints: one that takes a StructType and ArrayRef, and one that
takes StructType and varargs.

In cases where there isn't a struct type convenient, we now add a
ConstantStruct::getAnon method (whose name will make more sense after a few
more patches land).

It would be "really really nice" if the ConstantStruct::get and
ConstantVector::get methods didn't make temporary std::vectors.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a53616d08be710d22fd804e90b22df023cfdc0f9 19-Jun-2011 Chris Lattner <sabre@nondot.org> Remove support for parsing the "type i32" syntax for defining a numbered
top level type without a specified number. This syntax isn't documented
and blocks forward progress.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
edcaca8e4177b89a180862bcf779b498e9fe2d4c 19-Jun-2011 Chris Lattner <sabre@nondot.org> revert r133368, apparently I missed the tests to be updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8dd72b85b207856b7c879d186f0d3330124544c8 19-Jun-2011 Chris Lattner <sabre@nondot.org> Remove support for parsing the "type i32" syntax for defining a numbered
top level type without a specified number. This asmprinter has never
generated this, as you can tell by no tests being updated. It also isn't
documented.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0cd0d881604775f3f97048645f040b2ef4f61e4b 18-Jun-2011 Chris Lattner <sabre@nondot.org> eliminate the Type::getDescription() method, using "<<" instead. This
removes some gunk from LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d3e724aeaf612529aa358a1394e74922111372af 18-Jun-2011 Matt Beaumont-Gay <matthewbg@google.com> Fix -Asserts build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b0884ddf70fcb6b07113c4082c43c004f5bf8073 17-Jun-2011 Chris Lattner <sabre@nondot.org> remove another old and dead hunk of code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a16546a70bc8cdf609e9e10beb20925e54a88d77 17-Jun-2011 Chris Lattner <sabre@nondot.org> Stop accepting and ignoring attributes in function types. Attributes are applied
to functions and call/invokes, not to types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d589099eec8d120b5a7227072c4e717856e2276f 17-Jun-2011 Chris Lattner <sabre@nondot.org> make the asmparser reject function and type redefinitions. 'Merging' hasn't been
needed since llvm-gcc 3.4 days.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
424545e9509318e56be88021babec26cbfab8cc8 17-Jun-2011 Chris Lattner <sabre@nondot.org> remove asmparser support for the old getresult instruction, which has been subsumed by extractvalue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
437544f25c1a6f6a00a2ed245c935088dbf9963d 17-Jun-2011 Chris Lattner <sabre@nondot.org> remove parser support for the obsolete "multiple return values" syntax, which
was replaced with return of a "first class aggregate".



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6b7c89ee096146aefebc245c7d8741b69786655a 17-Jun-2011 Chris Lattner <sabre@nondot.org> stop accepting begin/end around function bodies in the .ll parser, this isn't pascal anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
7a1b9bdd2b837b15c9213cdaf89cacc977e4600e 17-Jun-2011 Chris Lattner <sabre@nondot.org> Remove support for using "foo" as symbols instead of %"foo". This is ancient
syntax and has been long obsolete. As usual, updating the tests is the nasty
part of this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f3a789d931de6b5be729c33ff476fb20f0badbb1 17-Jun-2011 Chris Lattner <sabre@nondot.org> Remove old backwards compatibility support from the parser for autoupgrading
the old malloc/free instructions, and for 'sext' and 'zext' as function
attributes (they are spelled signext/zeroext now), and support for result
value attributes being specified after a function.

Additionally, diagnose invalid attributes on functions with an error message
instead of an abort in the verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3a3465b71db858723988f61d72b7135e6dff329b 15-Jun-2011 John McCall <rjmccall@apple.com> Add a new function attribute, nonlazybind, which inhibits lazy-loading
optimizations when emitting calls to the function; instead those calls may
use faster relocations which require the function to be immediately resolved
upon loading the dynamic object featuring the call. This is useful when it
is known that the function will be called frequently and pervasively and
therefore there is no merit in delaying binding of the function.

Currently only implemented for x86-64, where it turns into a call through
the global offset table.

Patch by Dan Gohman, who assures me that he's going to add LangRef documentation
for this once it's committed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fc2bb8c4448fa884d79e437cc2d2627a7d7740a8 25-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Replace the -unwind-tables option with a per function flag. This is more
LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d2189bf12af59fa59aef375ce05d4ba9122ca287 03-May-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove unused variables caught by GCC's -Wunused-but-set-variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ec9186bcf975c9ffa3ec7ca97867f0ec6eb55115 21-Apr-2011 Jay Foad <jay.foad@gmail.com> PR9214: Convert Metadata API to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5d7a5a4f53304869ae5b76771ab67213447b65a5 11-Apr-2011 Bill Wendling <isanbard@gmail.com> Revert r129235 pending a vetting of the EH rewrite.
--- Reverse-merging r129235 into '.':
D test/Feature/bb_attrs.ll
U include/llvm/BasicBlock.h
U include/llvm/Bitcode/LLVMBitCodes.h
U lib/VMCore/AsmWriter.cpp
U lib/VMCore/BasicBlock.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLLexer.cpp
U lib/AsmParser/LLToken.h
U lib/Bitcode/Reader/BitcodeReader.cpp
U lib/Bitcode/Writer/BitcodeWriter.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d7bb295d223e028aa9ba7fbeafc8928db4a74972 10-Apr-2011 Bill Wendling <isanbard@gmail.com> Beginning of the Great Exception Handling Rewrite.

* Add a "landing pad" attribute to the BasicBlock.
* Modify the bitcode reader and writer to handle said attribute.

Later: The verifier will ensure that the landing pad attribute is used in the
appropriate manner. I.e., not applied to the entry block, and applied only to
basic blocks that are branched to via a `dispatch' instruction.

(This is a work-in-progress.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3ecfc861b4365f341c5c969b40e1afccde676e6f 30-Mar-2011 Jay Foad <jay.foad@gmail.com> Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
49d7999b89759a1b58180fec9c491ba05204c95c 03-Mar-2011 Tilmann Scheller <tilmann.scheller@googlemail.com> Use X86_thiscall calling convention for Win64 as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f1cc70ca9356b23369b689e17b89c5596d4c913f 02-Mar-2011 Tilmann Scheller <tilmann.scheller@googlemail.com> Add Win64 thiscall calling convention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
38c4e535493363b96eac47af9e7c056530137bea 02-Mar-2011 Rafael Espindola <rafael.espindola@gmail.com> Add a special streamer to libLTO that just records symbols definitions and
uses.

The result produced by the streamer is used to give the linker more accurate
information and to add to llvm.compiler.used. The second improvement removes
the need for the user to add __attribute__((used)) to functions only used in
inline asm. The first one lets us build firefox with LTO on Darwin :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2ca5c8644e6c35b3a7910a576ed89cddb7b82c3b 15-Feb-2011 Chris Lattner <sabre@nondot.org> convert ConstantVector::get to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
75831904220042260c4faece8507a2807acba47f 14-Feb-2011 Chris Lattner <sabre@nondot.org> revert my ConstantVector patch, it seems to have made the llvm-gcc
builders unhappy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
283c8caccd093f8e1d4f0bdd01ac240b4edbd20a 14-Feb-2011 Chris Lattner <sabre@nondot.org> Switch ConstantVector::get to use ArrayRef instead of a pointer+size
idiom. Change various clients to simplify their code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f067d584a81ae771d301304ea885e55e2de8ee9a 07-Feb-2011 Chris Lattner <sabre@nondot.org> implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.
Factor some code better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
35bda8914c0d1c02a6f90f42e7810c83150737e1 06-Feb-2011 Chris Lattner <sabre@nondot.org> enhance vmcore to know that udiv's can be exact, and add a trivial
instcombine xform to exercise this.

Nothing forms exact udivs yet though. This is progress on PR8862



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3971df5203146649a34dc50d217c0cc072d39be9 25-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Move unnamed_addr after the function arguments on Sabre's request.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ba7c38c36adb65d66c129270b2813fd2167488ed 15-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Allow unnamed_addr on declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d72479c2f061e3b57adf3d054875665f25a30d90 13-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Reject uses of unnamed_addr in declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
bea4626f93c830e31f82cc947df28fdae583cd09 08-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> First step in fixing PR8927:

Add a unnamed_addr bit to global variables and functions. This will be used
to indicate that the address is not significant and therefore the constant
or function can be merged with others.

If an optimization pass can show that an address is not used, it can set this.

Examples of things that can have this set by the FE are globals created to
hold string literals and C++ constructors.

Adding unnamed_addr to a non-const global should have no effect unless
an optimization can transform that global into a constant.

Aliases are not allowed to have unnamed_addr since I couldn't figure
out any use for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
40f8f6264d5af2c38e797e0dc59827cd231e8ff7 07-Dec-2010 Jay Foad <jay.foad@gmail.com> PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
970bfcc7d8b9991430caa7ab33975617f3f4c40d 25-Oct-2010 Charles Davis <cdavis@mines.edu> Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
bf9fc53f46d5badab10ec79e1e442830206f6598 21-Oct-2010 Duncan Sands <baldrick@free.fr> AlignLoc is never used for anything - zap it (gcc-4.6 warning).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
af81235ef96a7a005b7fdfe5a64cce30df3d820d 16-Oct-2010 Benjamin Kramer <benny.kra@googlemail.com> Eliminate some calls to Value::getNameStr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c6877b4ee11e1937b185114680a983facf9a29f8 30-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Pacify a noisy compiler, and sink this variable declaration closer to its uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
28815c4b64f3c29934ec3d9c48c91d8c1bd97682 30-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Silence compiler warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d1e1703c39742f3c9fc3d27a442ff59bbdbfb5aa 27-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Push twines deeper into SourceMgr's error handling methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f9930da2ef72350c6c805af09e754e4e6e13d47b 25-Sep-2010 Che-Liang Chiou <clchiou@gmail.com> Add ret instruction to PTX backend

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6826114d6e10725d122dca9352dc2d99a0f693e9 24-Aug-2010 Dan Gohman <gohman@apple.com> Add a comment explaining why this code doesn't just call
ParseMetadataValue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
309b3af547a60bedd74daa2a94ebd3d3ed5f06e9 24-Aug-2010 Dan Gohman <gohman@apple.com> Extend function-local metadata to be usable as attachments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9d072f51ebf61edda9c31f831c2642d110170d13 24-Aug-2010 Dan Gohman <gohman@apple.com> Give ParseInstructionMetadata access to the PerFunctionState object.
This is in preparation for generalizing its parsing of function-local
values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
55ae515f9db484125a23429d4906c5edaf9f10d2 21-Aug-2010 Bill Wendling <isanbard@gmail.com> Create the new linker type "linker_private_weak_def_auto".

It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility. The symbols are removed by the linker from the final linked image
(executable or dynamic library).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
489b29b0a4ee4526e3d50ad88d3d48745baf5042 21-Aug-2010 Dan Gohman <gohman@apple.com> Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e16829b401409b398c9de9847c1d12eb931f7d63 30-Jul-2010 Dan Gohman <gohman@apple.com> Move MaximumAlignment to be a member of the Value class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
138aa2a82bc6de611f28e51332fb0a30262a58e3 28-Jul-2010 Dan Gohman <gohman@apple.com> Define a maximum supported alignment value for load, store, and
alloca instructions (constrained by their internal encoding),
and add error checking for it. Fix an instcombine bug which
generated huge alignment values (null is infinitely aligned).
This fixes undefined behavior noticed by John Regehr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
83b4a97060c2c0a2ab08b8755c8f0915c49fd0cb 25-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Revert r109361; it's impossible to write a call with an argument with an
invalid type.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
13f03f0006a828c57e910001b00f6d022f3045d8 25-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Minor simplification.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
568463b556a8e60445f76f14965cddaa15ad484b 25-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Make the ll parser check that arguments have valid types.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
17aa92c92a925b4a674440c7ef088c223990e854 22-Jul-2010 Dan Gohman <gohman@apple.com> Make NamedMDNode not be a subclass of Value, and simplify the interface
for creating and populating NamedMDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
872814ae048df032bddf9299c850f5bda08299a9 21-Jul-2010 Dan Gohman <gohman@apple.com> Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
834480374ba38b2a31d6b63b492e442d75a462cf 14-Jul-2010 Dan Gohman <gohman@apple.com> Factor out metadata parsing into a separate function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9dc8ae110f4b23df8f42fe6a09087061938a06a7 13-Jul-2010 Dan Gohman <gohman@apple.com> Add support for empty named metadata too. This isn't particularly
useful, but it is nice for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ac80975ea4103fcceab38cde69d98d3fb3b01db4 13-Jul-2010 Dan Gohman <gohman@apple.com> Add support for empty metadata nodes: !{}.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5e721d768254a920b78b9129d79a84c0163cb3f4 01-Jul-2010 Bill Wendling <isanbard@gmail.com> Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
07d317711781d8c9268f7d6afcf1ba7eadf1d127 30-Jun-2010 Bill Wendling <isanbard@gmail.com> Revert r107205 and r107207.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
207855cff9b4811004b9720f28a5bd0adf3784b7 29-Jun-2010 Bill Wendling <isanbard@gmail.com> Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f75a7d3fbf7fbb3071f45e248d3fb93312ec4fbd 28-May-2010 Dan Gohman <gohman@apple.com> Eliminate the restriction that the array size in an alloca must be i32.
This will help reduce the amount of casting required on 64-bit targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ded05e34b65dc42998e9db6ca1abd513e7a9d120 16-May-2010 Anton Korobeynikov <asl@math.spbu.ru> Add support for thiscall calling convention.
Patch by Charles Davis and Steven Watanabe!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1eaac532615a54a1133367dc2c4ceaa79a150a9d 04-May-2010 Dan Gohman <gohman@apple.com> Remove the API compatibility layer which converted add, sub, and mul
to fadd, fsub, and fmul, when used with a floating-point type. LLVM
has supported the new instructions since 2.6, so it's time to get
on board.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
093eed15ae690f26f3f23731eed9d34da978d5fe 23-Apr-2010 Chris Lattner <sabre@nondot.org> reject invalid comma stuff with a message. We reject the case in
PR6888 with:

$ llvm-as t.ll
llvm-as: t.ll:2:29: error: expected metadata or 'align'
store <3 x i32> %x, i32 1, i32 1>, <3 x i32>* %p
^

instead of:

$ llvm-as t.ll
llvm-as:


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f1cfb953375b726f999976924f95fb80db3c1c97 20-Apr-2010 Chris Lattner <sabre@nondot.org> reapply 'reject forward references to functions whose type don't match'
now that the testsuite has been updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dd3a87912bdf84c6b1262a052368d0449efb90f9 17-Apr-2010 Daniel Dunbar <daniel@zuster.org> Revert "reject forward references to functions whose type don't match", because DJG told me to!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
77e80deabcdbb84b9dbc76152ecc4d606aec0bfd 17-Apr-2010 Chris Lattner <sabre@nondot.org> reject forward references to functions whose type don't match
up with the definition (and fix a broken testcase). PR6491.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f7240de877e790d9e377c1fe49b6d7a14c1a9674 10-Apr-2010 Chris Lattner <sabre@nondot.org> turn an assert into a proper check, fixing crash on invalid here:

$ llvm-as t.ll
llvm-as: t.ll:1:6: error: expected 'type' after '='
%0 = = type { i32, float, float, double }
^

PR6810.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4ba9d9b67be87ce82f71023643b759ff12fdb411 07-Apr-2010 Chris Lattner <sabre@nondot.org> fix a crash on invalid metadata, e.g.: call i32 @foo(), XXXX

We would return the error without inserting the new instruction
into the program, so it wouldn't get deallocated, and an abort
would trigger when the module was deleted.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
449c3103c5d8a3105ac1a46187ac1c7e1bdc0ba2 01-Apr-2010 Chris Lattner <sabre@nondot.org> rewrite handling of forward ref'd instruction metadata
to used deferred resolution instead of creating a temporary
node + rauw. There is no reason to create the temporary
mdnode, then do rauw, then destroy it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fe805249f724629f1e90be81937274ea0ba78992 01-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate a temporary smallvector


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
47c5188789bc40671504ed1fa3a44765cefba44f 16-Feb-2010 Duncan Sands <baldrick@free.fr> Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some
methods to try to have the type predicates be more logically positioned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1df9859c40492511b8aa4321eb76496005d3b75b 16-Feb-2010 Duncan Sands <baldrick@free.fr> There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b0bc6c361da9009e8414efde317d9bbff755f6c0 15-Feb-2010 Duncan Sands <baldrick@free.fr> 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
/external/llvm/lib/AsmParser/LLParser.cpp
fdfeb6976f07ad10d809b922ed7376ba2a3539be 12-Feb-2010 Chris Lattner <sabre@nondot.org> Add support for a union type in LLVM IR. Patch by Talin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1e063d14df0f182626ebdd7ac7f32405aa754e03 12-Feb-2010 Charles Davis <cdavis@mines.edu> Add a new function attribute, 'alignstack'. It will indicate (when the backends
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
570a4a5d9ca31f276a67502d1e0533d59d331fea 06-Feb-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Reintroduce the InlineHint function attribute.

This time it's for real! I am going to hook this up in the frontends as well.

The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.

We need some experiments to determine if that is the right thing to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 27-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
606a1d1f5984f20e79b0d2a2d38c121907426810 15-Jan-2010 Eric Christopher <echristo@apple.com> Remove the InlineHint attribute. There are no current or planned
users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
92f238dd8fe19b26103bd451c571281d9b7ad324 11-Jan-2010 Victor Hernandez <vhernandez@apple.com> Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
24e64df7ec25b55aa872c2ef33728dfbb8c353c4 10-Jan-2010 Victor Hernandez <vhernandez@apple.com> Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved().
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2fdf8dbed5661336059f647700e66bca1f4cd51a 09-Jan-2010 Chris Lattner <sabre@nondot.org> fix PR5983, reject function bodies with no blocks per the grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
76bf310b7a62a0dd34cd9c90a438343f2732645d 06-Jan-2010 Victor Hernandez <vhernandez@apple.com> When parsing function-local metadata, create a function-local MDNode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
bf170d4c2ffd9dc99fad1fabfbf1f90f980a9782 05-Jan-2010 Victor Hernandez <vhernandez@apple.com> Re-add parsing of function-local metadata; this time with testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
69d02e0a174151e0f129731452e819b91d1ab90e 05-Jan-2010 Devang Patel <dpatel@apple.com> Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8c65f6e71c1d46d823b9a884819992a9255edd54 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Move remaining stuff to the isInteger predicate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3e30c2a3c54c50246e6cccf0c8842619e29fe66c 05-Jan-2010 Devang Patel <dpatel@apple.com> NamedMDNode is a collection MDNodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f012705c7e4ca8cf90b6b734ce1d5355daca5ba5 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
7fccf76048b66c2526197063feb133e706a48ad4 30-Dec-2009 Chris Lattner <sabre@nondot.org> remove some fixme's


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1340dd37087c1d47a85a4461a8d33cd6ccbcfaaf 30-Dec-2009 Chris Lattner <sabre@nondot.org> now that instruction metadata is only parsed in one place, eliminate the
parser-global MDsOnInst vector and make ParseInstructionMetadata return
its result by-ref through an argument like the entire rest of the parser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c3a6c5c83b5fa7b813de1741ac9e9be702b03846 30-Dec-2009 Chris Lattner <sabre@nondot.org> reimplement ParseOptionalInfo as ParseOptionalCommaAlign, correctly
handle the comma case for metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b8c4686a46da2832ff4502136f16f71f789be078 30-Dec-2009 Chris Lattner <sabre@nondot.org> rename ParseOptionalCustomMetadata -> ParseInstructionMetadata,
and make it non-optional. This fixes the bug where we'd accept
and ignore a spurious comma after some instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a7d7f2c0239ecc8513461ec69c8b922698ce5fe0 30-Dec-2009 Chris Lattner <sabre@nondot.org> convert 4 more instructions over.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f1bc7ce7b362d2859349c7a1e2bc6df493d0f809 30-Dec-2009 Chris Lattner <sabre@nondot.org> add facilities to start factoring instruction metadata parsing
out of each opcode's handler. Change ret over so far.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
628c13ad76fb4b7ce2f105c0e92644d1c39ee2f8 30-Dec-2009 Chris Lattner <sabre@nondot.org> reimplement insertvalue/extractvalue metadata handling to not blindly
accept invalid input. Actually add a testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fa149ae923c32f80383d3585f7d5ea3bdae5ecf4 30-Dec-2009 Chris Lattner <sabre@nondot.org> remove two bogus calls that accepted metadata in the middle of insert/extract value
*constant exprs*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1d92831759620a2e5ce4f5a3088c0a1a77a48c8f 30-Dec-2009 Chris Lattner <sabre@nondot.org> rename NamedOrCustomMD -> MetadataVar to follow conventions of all the rest of the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e434d277ca5183eeb6f881000732dcf4c8edd52e 30-Dec-2009 Chris Lattner <sabre@nondot.org> rename lltok::Metadata -> lltok::exclaim. We name tokens
after their syntactic form, not their semantic form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0834e6a07b1965712781804b0113a8b282f40a5f 30-Dec-2009 Chris Lattner <sabre@nondot.org> rename MetadataCache -> NumberedMetadata to follow the convention
used by other things. Convert it to a vector since it is a dense
numbering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a73523958d39ca10a322fd8b177104ebc2045130 30-Dec-2009 Chris Lattner <sabre@nondot.org> rewrite ParseMDNodeVector to follow the normal patter used in the .ll parser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4a72efc0ad18c1b9c98bb2f0cb881a39a7010b53 30-Dec-2009 Chris Lattner <sabre@nondot.org> rename ParseMDNode -> ParseMDNodeID, since it parses !42, not !{... } as you'd expect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
860775c2b05a0d0ecadcbf2e9283912061fb5235 30-Dec-2009 Chris Lattner <sabre@nondot.org> fix parsing of mdstring values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c49363bcd92a9b60171199d38e57234757cf00fc 30-Dec-2009 Chris Lattner <sabre@nondot.org> remove the code added in r90497. It has several major issues and no tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
287881d51086c4c5b38d109142f97442c9283374 30-Dec-2009 Chris Lattner <sabre@nondot.org> split t_Metadata into t_MDNode and t_MDString, eliminating some unsafe casting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3f5132a024960b7d2e226a210c5923c094f036ef 29-Dec-2009 Chris Lattner <sabre@nondot.org> factor code even more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
84d03b11d016821e0a2f31fc14a3cfd24b0df862 29-Dec-2009 Chris Lattner <sabre@nondot.org> simplify some code and unbreak the build by not consuming an
extra token.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c17300f3c55fb0d44806578cf50f051c98780b61 29-Dec-2009 Benjamin Kramer <benny.kra@googlemail.com> remove a really wrong parenthesis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
42991eeb64ee178bd12ac243b0cfa7b3bde97f49 29-Dec-2009 Chris Lattner <sabre@nondot.org> clean up some really strange code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
442ffa1c5688f32b275f7657b5ee3646bfe8ffa3 29-Dec-2009 Chris Lattner <sabre@nondot.org> change ParseMDString and ParseMDNode to take arguments of the right type.
This exposed a raft of other problems, which I'll deal with in subsequent
patches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e80250ec84e6e3aa916a66acc507241e7bde89c9 29-Dec-2009 Chris Lattner <sabre@nondot.org> switch to TrackingVH instead of WeakVH, since these can never
be RAUW'd and go to null. This also gets us some sorely lacking
type safety.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3f3a0f6b498e80ffaeb83f03c8697e5d54fd9337 29-Dec-2009 Chris Lattner <sabre@nondot.org> Each instruction is allowed to have *multiple* different
metadata objects on them. Though the entire compiler supports this,
the asmparser didn't.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
081134741b40b342fb2f85722c9cea5d412489a8 29-Dec-2009 Chris Lattner <sabre@nondot.org> Final step in the metadata API restructuring: move the
getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3990b121cf4a0b280ed3e54cf13870cbf4259e78 29-Dec-2009 Chris Lattner <sabre@nondot.org> This is a major cleanup of the instruction metadata interfaces that
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().

This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.

This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.

This introduces a number of fixme's which I'll follow up on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0eb419800ae51d6e0e00a656ede0627483755361 28-Dec-2009 Chris Lattner <sabre@nondot.org> rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0e28d76696dce146266cab547033dd895ffd0323 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
211a14e476abc9b864ab6a5d5e0bbb86d288b650 07-Dec-2009 Anton Korobeynikov <asl@math.spbu.ru> Add MSP430 interrupt calling conv. No functionality change yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1971556cc271710b683bc3ca8327c903791c910f 04-Dec-2009 Victor Hernandez <vhernandez@apple.com> Add ParseInlineMetadata() which can parses metadata that refers to an instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5bda3792b44c8f5e1f9b974a18eb6061c3d27f89 26-Nov-2009 Chris Lattner <sabre@nondot.org> Add a hack for PR5601, a crash on obsolete syntax that we plan to
remove in LLVM 3.0


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f0bb41c078d657c70ce6b95d5b56645c72ca7db4 08-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix MSVC warning ( | with bool and unsigned int).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9d0b704e3ea418441001dac4d1a56c2c224cdbf5 07-Nov-2009 Victor Hernandez <vhernandez@apple.com> Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.

Here is the original commit message:

This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments.

Update CreateMalloc so that its callers specify the size to allocate:
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.

Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.

Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
df98761d08ae091420b7e9c1366de7684400fc36 06-Nov-2009 Victor Hernandez <vhernandez@apple.com> Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
85b8de8118dcfc26902e312609a893c67d9c5fcf 05-Nov-2009 Devang Patel <dpatel@apple.com> Use WeakVH while storing metadata in containers.
This fixes PR5393.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
24f934d0551e33508c4ffd24318ea0e970db9810 05-Nov-2009 Victor Hernandez <vhernandez@apple.com> Update CreateMalloc so that its callers specify the size to allocate:
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.

Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.

Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e8bc45a645f1df1c9f8b23c6f29247a61af14f19 03-Nov-2009 Devang Patel <dpatel@apple.com> Parse debug info attached with insertvalue and extractvalue instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ee7644da4cbc18f95495a5217c6a0c61eb13c767 02-Nov-2009 Chris Lattner <sabre@nondot.org> typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cdfc940912d56a63b6f12eaa7f3faf79cf74c693 01-Nov-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/AsmParser/LLParser.cpp
7d83ebcadd725d050cc58962e9b7c4312d676e7f 31-Oct-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/AsmParser/LLParser.cpp
09d9ef4122414a1a2ec95f52d660d6500f2819d0 28-Oct-2009 Chris Lattner <sabre@nondot.org> full asmparser support for blockaddress. We can now do:
$ llvm-as foo.ll -d -disable-output

which reads and prints the .ll file. BC encoding is the
next project. Testcase will go in once that works.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ab21db79ef1d2530880ad11f21f0b87ffca02dd4 28-Oct-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/AsmParser/LLParser.cpp
f9be95f867745b6754b2402b9b72f9eaeabd637f 27-Oct-2009 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/AsmParser/LLParser.cpp
1d871c5e547996a8dd5192e48d22aadf11cd2a9d 26-Oct-2009 Chris Lattner <sabre@nondot.org> fix PR5295 where the .ll parser didn't reject a function after a global
or global after a function with conflicting names. Update some testcases
that were accidentally depending on this behavior.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
66284e063a1e46500acae48bdc0e4a00652021d1 24-Oct-2009 Victor Hernandez <vhernandez@apple.com> Auto-upgrade free instructions to calls to the builtin free function.
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
336ea06493dfa03352d04d94cc8bc2c3c29f8165 23-Oct-2009 Victor Hernandez <vhernandez@apple.com> Minor code cleanup.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8ba2d5befc05ca73d3bac8708819bbbe759e2cf9 22-Oct-2009 Dale Johannesen <dalej@apple.com> Rename msasm to alignstack per review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
68afa54033eccda0f55e920cb548588e71a45418 21-Oct-2009 Victor Hernandez <vhernandez@apple.com> Make changes to rev 84292 as requested by Chris Lattner.

Most changes are cleanup, but there is 1 correctness fix:
I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d9723e9a2800e3f74652ef3be7c1c2c58d01f376 21-Oct-2009 Devang Patel <dpatel@apple.com> Cosmetic changes.

s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
52e2031d4a5d76ff37458015a086285dfaceb6d2 19-Oct-2009 Chris Lattner <sabre@nondot.org> clean up after metadata changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c6e200960812992f1124c92f801166bd1b387971 18-Oct-2009 Chris Lattner <sabre@nondot.org> remove some nonascii weird stuff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cf4d2f11a1acc12a0f6b50991907e4a998ee9cdd 18-Oct-2009 Chris Lattner <sabre@nondot.org> add some fixme's


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a276c603b82a11b0bf0b59f0517a69e4b63adeab 17-Oct-2009 Victor Hernandez <vhernandez@apple.com> Remove MallocInst from LLVM Instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
13ad5aaaff8a446758b402fd5e9aea22f5bc5682 17-Oct-2009 Victor Hernandez <vhernandez@apple.com> Autoupgrade malloc insts to malloc calls.
Update testcases that rely on malloc insts being present.

Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a43d46f523dff4b784ee28a3b196a065a15d90f2 16-Oct-2009 Devang Patel <dpatel@apple.com> Parse PHI instruction with attached metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4360298d2bf3c1ba8595a415cfa235df0bc76335 13-Oct-2009 Dale Johannesen <dalej@apple.com> Add an "msasm" flag to inline asm as suggested in PR 5125.
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6225d64ba244cdf4af3c44e113fc8c589fa39508 13-Oct-2009 Devang Patel <dpatel@apple.com> Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cf0fe8d813727383d630055bb9d1cde21b00b7e7 05-Oct-2009 Chris Lattner <sabre@nondot.org> strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
58a230a4917592f5c529cb40e75bfc3e1c681b69 29-Sep-2009 Devang Patel <dpatel@apple.com> Only one custom meadata of each kind can be attached with an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0475c9170e9621292a48c688c3976031be5650bb 29-Sep-2009 Devang Patel <dpatel@apple.com> Parse custom metadata attached with an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e30e678865b8dc1b69ef1c26e7567ffd1300553c 28-Sep-2009 Devang Patel <dpatel@apple.com> s/class Metadata/class MetadataContext/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a2148402ce39fb3aad09e98a32078d3853a01ae9 28-Sep-2009 Devang Patel <dpatel@apple.com> Do not use global typedef for MDKindID.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3e0c99a26f365bddb667124db40a5734e35c5a2d 25-Sep-2009 Victor Hernandez <vhernandez@apple.com> Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
96b930ddc7f0df9e278a5cb65ad77a559a20964e 24-Sep-2009 Victor Hernandez <vhernandez@apple.com> Auto-upgrade malloc instructions to malloc calls.

Reviewed by Devang Patel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a279bc3da55691784064cb47200a1c584408b8ab 20-Sep-2009 Daniel Dunbar <daniel@zuster.org> Tabs -> spaces, and remove trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f633a065de959b32892c51d741d4db010c5d25b1 18-Sep-2009 Devang Patel <dpatel@apple.com> Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cea188aa5f5325947ecd85414bd1d5477c14e21a 16-Sep-2009 Devang Patel <dpatel@apple.com> Parse debug info attached with an instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f8dbee7cea072eb63ae343759975109553697bcb 08-Sep-2009 Dan Gohman <gohman@apple.com> Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
92a97a9166e359e195d949e63d7e24a4a33284cf 06-Sep-2009 Daniel Dunbar <daniel@zuster.org> Revert "Include optional subclass flags, such as inbounds, nsw, etc., ...", this
breaks MiniSAT on x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
859fff476dfe8d83abdf4621b1d20062c0daa85c 04-Sep-2009 Dan Gohman <gohman@apple.com> Include optional subclass flags, such as inbounds, nsw, etc., in the
Constant uniquing tables. This allows distinct ConstantExpr objects
with the same operation and different flags.

Even though a ConstantExpr "a + b" is either always overflowing or
never overflowing (due to being a ConstantExpr), it's still necessary
to be able to represent it both with and without overflow flags at
the same time within the IR, because the safety of the flag may
depend on the context of the use. If the constant really does overflow,
it wouldn't ever be safe to use with the flag set, however the use
may be in code that is never actually executed.

This also makes it possible to merge all the flags tests into a single test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2b4f28e270c5091a7e70991adc3e36aff0c85b0e 02-Sep-2009 Nuno Lopes <nunoplopes@sapo.pt> plug another leak in LLParser::PerFunctionState::SetInstName()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
531552aaa24218c1b2043cf56d719f3d940aeed4 02-Sep-2009 Nuno Lopes <nunoplopes@sapo.pt> plug memory leak in LLParser::PerFunctionState::SetInstName() by deleting a value after replacing it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
65c3c8f323198b99b88b109654194540cf9b3fa5 02-Sep-2009 Sandeep Patel <deeppatel1987@gmail.com> Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
419055453cdc4f9be4a3ad80f9b49e881d528fe9 30-Aug-2009 Dan Gohman <gohman@apple.com> Minor logic simplification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e4b275610a7a05b7ee4c0378a906a6330e4c4ab0 29-Aug-2009 Devang Patel <dpatel@apple.com> Reapply 79977.
Use MDNodes to encode debug info in llvm IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
824598883513789516a919651f4b35e7a638ec5c 26-Aug-2009 Devang Patel <dpatel@apple.com> Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
de86d473fcc18fe769fa9edb075984880ef1a015 26-Aug-2009 Dale Johannesen <dalej@apple.com> 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
/external/llvm/lib/AsmParser/LLParser.cpp
1c8a23c440b1665ba422778cdc74a0c59ecaf39e 26-Aug-2009 Dan Gohman <gohman@apple.com> Eliminate the unused Context argument on one of the ICmpInst and FCmpInst
constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2a610c7387664bc557a35ce3bb4c0d4df56e4755 25-Aug-2009 Devang Patel <dpatel@apple.com> Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5078f84c82814e4d33846f9ef54281619d362f8a 20-Aug-2009 Dan Gohman <gohman@apple.com> Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
and hasNoSignedWrap, for consistency with the nuw and nsw properties.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0e275dc53880a7f14f8b8c83cc6e0290a215492d 14-Aug-2009 Owen Anderson <resistor@mac.com> Actually privatize a IntegerTypes, and fix a few bugs exposed by this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3845e50edea58edd0f5e0f2b732e0106b53ba279 13-Aug-2009 Dan Gohman <gohman@apple.com> Extend the AsmWriter to print unnamed numbered types as "%0 = type ..."
and unnamed numbered global variables as "@0 = global ...". Extend the
AsmParser to recognize these forms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d7f2a6cb3fbc012763adb42fd967f6fefbb22a37 06-Aug-2009 Owen Anderson <resistor@mac.com> Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
647e3016de18d2fc8b0f233a0b356809e3fdcc54 31-Jul-2009 Owen Anderson <resistor@mac.com> Move the metadata constructors back to 2.5 syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a7235ea7245028a0723e8ab7fd011386b3900777 31-Jul-2009 Owen Anderson <resistor@mac.com> Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5defacc6e605f4651c6300237cef8e9bb2eb6d0e 31-Jul-2009 Owen Anderson <resistor@mac.com> Move getTrue() and getFalse() to 2.5-like APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9e9a0d5fc26878e51a58a8b57900fcbf952c2691 31-Jul-2009 Owen Anderson <resistor@mac.com> Move more code back to 2.5 APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
debcb01b0f0a15f568ca69e8f288fade4bfc7297 30-Jul-2009 Owen Anderson <resistor@mac.com> Move types back to the 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5316bf0252ce9797e90a233645b6580695403837 29-Jul-2009 Devang Patel <dpatel@apple.com> There is no need to keep name ref in NamedMDNode.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e 29-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantExpr to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dcb40a3c1c747c88c4e634e34d1b4d7533a86ada 29-Jul-2009 Dan Gohman <gohman@apple.com> Minor code simplification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
eff2ab61b5d411fe64ba601d402b7c549644b590 29-Jul-2009 Devang Patel <dpatel@apple.com> Parse named metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0a9f7b9c3ebe7d0ec033462e1a7c9101279956f9 28-Jul-2009 Devang Patel <dpatel@apple.com> Rename MDNode.h header. It defines MDnode and other metadata classes.
New name is Metadata.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
af7ec975870f92245f1f1484ac80a1e2db6a0afa 28-Jul-2009 Owen Anderson <resistor@mac.com> Return ConstantVector to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1fd7096407d5e598ed3366a1141548e71273f1c5 28-Jul-2009 Owen Anderson <resistor@mac.com> Change ConstantArray to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
8fa3338ed2400c1352b137613d2c2c70d1ead695 28-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantStruct back to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dd8004dc73d091ccb3927dbbc3b41639a3738ae3 27-Jul-2009 Dan Gohman <gohman@apple.com> 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
/external/llvm/lib/AsmParser/LLParser.cpp
6f83c9c6ef0e7f79825a0a8f22941815e4b684c7 27-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantFP construction back to the 2.5-ish API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
59858cf7926702596cf708daf21aeaf5b6feedf8 27-Jul-2009 Dan Gohman <gohman@apple.com> Change the assembly syntax for nsw, nuw, and exact, putting them
after their associated opcodes rather than before. This makes them
a little easier to read.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
30d3b911c97b28ddeda6aba15128cab55cd2cfb2 27-Jul-2009 Benjamin Kramer <benny.kra@googlemail.com> Test commit: fix typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
92ccf70ad448eb02f9f273d2c70ae4708b3bd0f2 25-Jul-2009 Daniel Dunbar <daniel@zuster.org> Finish migrating VMCore to StringRef/Twine based APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a3500da5592aee83675d6714d4f1e9d5ad96d1f2 25-Jul-2009 Eric Christopher <echristo@apple.com> Move ExtractElementInst to ::Create instead of new. Update all uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
eed707b1e6097aac2bb6b3d47271f6300ace7f2e 25-Jul-2009 Owen Anderson <resistor@mac.com> Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4e9bac3769cb668aad20f1ac2d6a35d9ba452f3a 24-Jul-2009 Eli Friedman <eli.friedman@gmail.com> Fix assert assembling zero-argument constant GEP.

There's still a strict-aliasing violation here, but I don't feel like
dealing with that right now...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2f9c3b002d3cb465fefc5f4b2535ca994c5e9283 23-Jul-2009 Devang Patel <dpatel@apple.com> MDString
- Rename member function size(). New name is length().
- Store string beginning and length. Earlier it used to store string end.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
db5e90078ea1034cf992e7d173517d1001f089cd 23-Jul-2009 Devang Patel <dpatel@apple.com> Silence "uninitialized use" warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
104cf9e02b0ed94d4173869a598af6c6972a8660 23-Jul-2009 Devang Patel <dpatel@apple.com> Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0aaf4e91c2961585c160af0cc87f040301aafbd2 23-Jul-2009 Eric Christopher <echristo@apple.com> Fix error message for correct opcode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
08d012eba490c4906ec773c39db9f2a18a78c997 23-Jul-2009 Dan Gohman <gohman@apple.com> Rename the new unsigned and signed keywords to nuw and nsw,
which stand for no-unsigned-wrap and no-signed-wrap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e54abc90fe9942ef3902040a7ac475ce0c369dc9 22-Jul-2009 Devang Patel <dpatel@apple.com> Introduce MetadataBase, a base class for MDString and MDNode.
Derive MDString directly from MetadataBase.
Introduce new bitcode block to hold metadata.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b3056faa5554ded7ac1ac5865d10ef5839fb77d3 21-Jul-2009 Owen Anderson <resistor@mac.com> Rename getConstantInt{True|False} to get{True|False} at Chris' behest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1224c386981f7948f298ed9ad444c40609570f2e 20-Jul-2009 Dan Gohman <gohman@apple.com> Assembly and Bitcode support for unsigned/signed overflow flags and
exact sdiv flags.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
256be96457faf173de2ac3f8145077b7e6fb41ba 20-Jul-2009 Devang Patel <dpatel@apple.com> Refactor metadata parsing routines into separate functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3d10a5a75794356a0a568ce283713adc3a963200 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.

This is plumbing, so we don't have a use of it yet. More to come, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c5ec8a78ea898087ad361e5b755f74a76150e5fd 17-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru> Add support for naked functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
50dead06ffc107edb7e84857baaeeb09039c631c 16-Jul-2009 Owen Anderson <resistor@mac.com> Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe 15-Jul-2009 Owen Anderson <resistor@mac.com> Move EVER MORE stuff over to LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
333c40096561218bc3597cf153c0a3895274414c 10-Jul-2009 Owen Anderson <resistor@mac.com> This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d1095407eaf64c4d321df36fe962f768ec5ced80 09-Jul-2009 Devang Patel <dpatel@apple.com> Fix thinko.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
2214c94bb70524ff3150c6763c2f9ac0c1bb844b 08-Jul-2009 Devang Patel <dpatel@apple.com> Drop "constant" from
!0 = constant metadata !{...}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1c7eea60d3cbada2bae54c42fa178078a3ace9b3 08-Jul-2009 Devang Patel <dpatel@apple.com> Support MDNode forward reference.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e9b11b431308f4766b73cda93e38ec930c912122 08-Jul-2009 Owen Anderson <resistor@mac.com> Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
7f6aa2b162e5daaf7b9ccf05d749597d3d7cf460 08-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Remove the vicmp and vfcmp instructions. Because we never had a release with
these instructions, no autoupgrade or backwards compatibility support is
provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3d29df3e8a203b167d8071ea6f805b21db18a5af 08-Jul-2009 Owen Anderson <resistor@mac.com> Push LLVMContext through GlobalVariables and IRBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
eeb4a84ac8d91fb1d5a7c484a1c7047409faee30 03-Jul-2009 Chris Lattner <sabre@nondot.org> switch the .ll parser to use SourceMgr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
12c99d8160bbc4426feb09a6c020d3ba45ed4f06 02-Jul-2009 Owen Anderson <resistor@mac.com> Use LLVMContext for generating MDStrings too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e951bdff0d1fbdb481570969b59c57716d79761c 02-Jul-2009 Owen Anderson <resistor@mac.com> Use LLVMContext to generate metadata constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b43eae745eb9a7c46fe76b0ed8053b782ca67536 02-Jul-2009 Owen Anderson <resistor@mac.com> Use LLVMContext for generating UndefValue constants too!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
fba933c823a2862067e0696bd5032ab18185bd77 02-Jul-2009 Owen Anderson <resistor@mac.com> Try again at converting the LLParser to use LLVMContext, without massive breakage this time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
aa3943bf63618dce1a74eda1a81bcee7ee9c73f5 02-Jul-2009 Bill Wendling <isanbard@gmail.com> --- Reverse-merging (from foreign repository) r74648 into '.':
U include/llvm/LLVMContext.h
U lib/VMCore/LLVMContext.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLParser.h

Temporarily reverting r74648. It was causing massive failures in release mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c137ea6cf5febeff6aad20c51921e48a4817a2e1 01-Jul-2009 Owen Anderson <resistor@mac.com> Convert LLParser to use LLVMContext for creating constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
923078c65d5a37a4f135705300c9feea49487de5 01-Jul-2009 Devang Patel <dpatel@apple.com> Support stand alone metadata syntax.

!0 = constant metadata !{i32 21, i32 22}
@llvm.blah = constant metadata !{i32 1000, i16 200, metadata !0}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0fd38069cb6699ce21eb159f22d3f23c012c9e81 01-Jul-2009 Chris Lattner <sabre@nondot.org> improve the APIs for creating struct and function types with no arguments/elements
to not have to create a temporary vector (in the API at least). Patch by Jay Foad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
385f5a99ecc7fee48a7539bc63d3e1d3b5089c0d 16-Jun-2009 Anton Korobeynikov <asl@math.spbu.ru> Address review comments: add 3 ARM calling conventions.
Dispatch C calling conv. to one of these conventions based on
target triple and subtarget features.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
24b108bc8ca75922d4cb8e7f197934b8269d4fc3 15-Jun-2009 Dan Gohman <gohman@apple.com> Fix a typo in a diagnostic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a119de86a064414622562cfe32953de7f9b0ee40 15-Jun-2009 Dan Gohman <gohman@apple.com> Fix old-style type names in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a5f54a06b09acf5c4ed3571039f262128226145b 07-Jun-2009 Nick Lewycky <nicholas@mxc.ca> Create FunctionType::isValidArgumentType to go along with isValidReturnType.
Also create isValidElementType for ArrayType, PointerType, StructType and
VectorType.

Make LLParser use them. This closes up some holes like an assertion failure on:

%x = type {label}

but largely doesn't change any semantics. The only thing we accept now which
we didn't before is vectors of opaque type such as "<4 x opaque>". The opaque
can be resolved to an int or float when linking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
00907c7d81eecb062b06905722fd233e7daa5e5a 07-Jun-2009 Nick Lewycky <nicholas@mxc.ca> Refuse metadata* type for function arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
578efa920abd218ba75a0fb3c9b8398f4c0a774b 05-Jun-2009 Devang Patel <dpatel@apple.com> Add new function attribute - noimplicitfloat
Update code generator to use this attribute and remove NoImplicitFloat target option.
Update llc to set this attribute when -no-implicit-float command line option is used.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ae3a0be92e33bc716722aa600983fc1535acb122 05-Jun-2009 Dan Gohman <gohman@apple.com> Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d18e31ae17390d9c6f6cf93d18badf962452031d 05-Jun-2009 Devang Patel <dpatel@apple.com> Add new function attribute - noredzone.
Update code generator to use this attribute and remove DisableRedZone target option.
Update llc to set this attribute when -disable-red-zone command line option is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e3e51c0038bd6ba2add82e2246e97edec0ab2204 21-May-2009 Jay Foad <jay.foad@gmail.com> Use v.data() instead of &v[0] when SmallVector v might be empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
cb33799b9f4e152e3460faa83e59b53ff604c87d 10-May-2009 Nick Lewycky <nicholas@mxc.ca> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
040f758e3abc75bdf6ddb1ce7bea1e1ed1293ccf 25-Apr-2009 Chris Lattner <sabre@nondot.org> testcase and asmparser fix for PR4066


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
55f64dbb398cc8d967d1e32a8bb2190a60f5b61e 13-Apr-2009 Nick Lewycky <nicholas@mxc.ca> Fix warning in .ll parser, detect and reject available_externally on function
declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
266c7bbbbcc4b326dea82e577de1a415d6acc23e 13-Apr-2009 Chris Lattner <sabre@nondot.org> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
21cc4460efa104e8591b05a90f20130291614344 04-Apr-2009 Nick Lewycky <nicholas@mxc.ca> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ad9ad7c827b585c018288c89d611d8c97d8d2e7d 25-Mar-2009 Chris Lattner <sabre@nondot.org> Fix a bug in our autoupgrade support: in an argument list to a function
call, we should treat "i64 zext" as the start of a constant expr, but
"i64 0 zext" as an argument with an obsolete attribute on it (this form
is already tested by test/Assembler/2007-07-30-AutoUpgradeZextSext.ll).

Make the autoupgrade logic more discerning to avoid treating "i64 zext"
as an old-style attribute, causing us to reject a valid constant expr.
This fixes PR3876.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4dc2b39bf89d7c87868008ef8a0f807e0419aca6 11-Mar-2009 Duncan Sands <baldrick@free.fr> It makes no sense to have a ODR version of common
linkage, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63 11-Mar-2009 Duncan Sands <baldrick@free.fr> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
a9a9e07d1c5d3c73835e716d81c2ec94ad0b865f 09-Mar-2009 Chris Lattner <sabre@nondot.org> Fix two classes of bugs. First:

validate an invariant so that the asmparser rejects a bad construct
instead of the verifier. Before:

llvm-as: assembly parsed, but does not verify as correct!
Invalid struct return type!
i64 (%struct.Type*, %struct.Type*)* @foo

after:

llvm-as: t.ll:5:8: functions with 'sret' argument must return void
define i64 @foo(%struct.Type* noalias nocapture sret %agg.result, %struct.Type* nocapture byval %t) nounwind {
^


Second, check that void is only used where allowed (in function return types) not in
arbitrary places, fixing PR3747 - Crash in llvm-as with void field in struct. We
now reject that example with:

$ llvm-as t.ll
llvm-as: t.ll:1:12: struct element can not have void type
%x = type {void}
^





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 07-Mar-2009 Duncan Sands <baldrick@free.fr> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f6f0bdfec336b596b095b4db8126149bbb33fec1 01-Mar-2009 Chris Lattner <sabre@nondot.org> Fix a pretty awesome bug that only happened in a strange case with anonymous
types. This was reading the uint for the keyword after the token was advanced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
452e2627dc1de4fb5a2b1c9ac999f1b3396f82c7 28-Feb-2009 Chris Lattner <sabre@nondot.org> reject 0 element vectors with:
@a = internal constant void bitcast(<0 x i8> <> to void)
^

Fixes PR3685


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
f570e621ab6eec6c7656cc4c511e19aba12b42cd 18-Feb-2009 Chris Lattner <sabre@nondot.org> add proper asmwriter and asmparser support for anonymous functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
35b5107951582f58bf9d6f786fdddbf7811420fd 10-Feb-2009 Duncan Sands <baldrick@free.fr> Pacify gcc-4.3 (thinks IsConstant may be used
uninitialized).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b9070d3f6309929e47503e2790a368592b4bd201 09-Feb-2009 Dan Gohman <gohman@apple.com> Use slightly more correct grammar in error messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4a2f112a5c774cb1ab3fd890a88ba1db9709f561 08-Feb-2009 Chris Lattner <sabre@nondot.org> fix typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b4bd16fc5e3dd416cf68e73cff93544d364159d6 08-Feb-2009 Chris Lattner <sabre@nondot.org> reject void pointers with a nice error:

llvm-as: t.ll:2:15: pointers to void are invalid, use i8* instead
%X = type void*
^

instead of asserting and dying.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
49de98214b82fefeb8f16efbf8cdd8813a85469b 05-Feb-2009 Dale Johannesen <dalej@apple.com> Reapply 63765. Patches for clang and llvm-gcc to follow.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4d452de1506344bf1d28bb4a8c4ddb78c51a28c8 04-Feb-2009 Dale Johannesen <dalej@apple.com> Reverting 63765. This broke the build of both clang
and llvm-gcc.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d24479730a8790d82c4859dc477bc2416d7a6bda 04-Feb-2009 Nate Begeman <natebegeman@mac.com> New feature: add support for target intrinsics being defined in the
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
91dad87ddc1e69ac5fa8953a583de4185e1dd0d7 02-Feb-2009 Chris Lattner <sabre@nondot.org> Fix PR3372


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
bb46f52027416598a662dc1c58f48d9d56b1a65b 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com> Add the private linkage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
1e407c338f6944242facb1e0c32903162cc366f0 08-Jan-2009 Chris Lattner <sabre@nondot.org> one more crash from PR3281, we now diagnose:

llvm-as: t.ll:2:39: function may not return opaque type
%"bwmoyl" = tail call coldcc opaque @g()
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0d8484f2edb1069522f5c3de6467433e0fbe9323 05-Jan-2009 Chris Lattner <sabre@nondot.org> fix wordo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
b0adcdb7e53dcd636a7eafba44d941ac23006473 05-Jan-2009 Steve Naroff <snaroff@apple.com> Remove redundant ValID::ValID:: scoping (doesn't compile on Windows).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
dfd19ddcfa7568d2118fbc3c6da612295200c31c 05-Jan-2009 Chris Lattner <sabre@nondot.org> Reject PR3281:accepted03.ll with:

llvm-as: accepted03.ll:1:35: invalid unresolved type up reference
declare void @r({ \7, opaque, \10 } %su)
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
830703b1bd88511e29eec76b1fd146524bc9c5a1 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject PR3281:crash11.ll with:
llvm-as: crash11.ll:2:27: function may not return return opaque type
"xw" = tail call opaque @608(label %31)
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
959873d2da763c0e3b3c67c39aab179fc43c5a52 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject PR3281:crash10.ll with:

llvm-as: crash10.ll:3:35: floating point constant does not have type 'ppc_fp128'
"dumy" = fcmp ult ppc_fp128 "j",9209.4
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
c38daba25b66f9a0386fc28861db66e62663310d 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject PR3281:crash09.ll with this diagnostic:

llvm-as: crash09.ll:3:1: self referential type is invalid
type %0
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0b6163506359223fb0f74d856099ee4d5e768ebe 05-Jan-2009 Chris Lattner <sabre@nondot.org> allow opaque undefs. This resolves PR3282 and fixes
test/Assembler/2005-05-05-OpaqueUndefValues.ll



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d0f9c730d4f0dcf008da0814ebcd6da90e4ba995 05-Jan-2009 Chris Lattner <sabre@nondot.org> produce the same diagnostics for vicmp constant exprs as vicmp instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e914b59c008745204c49fcf0751f9cc4d91f44bb 05-Jan-2009 Chris Lattner <sabre@nondot.org> Fix PR3281:crash08.ll with this diagnostic:
llvm-as: crash08.ll:3:15: invalid operand type for instruction
"qp" = sdiv fp128 0x1, %30
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
0088a5cc722b9e32820d31c70175a7650ad4772d 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject PR3281:crash07.ll with:

llvm-as: crash07.ll:2:32: va_arg requires operand with first class type
%y = va_arg [52 x <{}>] %43, double (...) sspreq
^


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
e67c1aa3986cf98f2021a31a6ad502857c757b7b 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject undef/zero labels. This fixes PR3281:crash0[56].ll with these
diagnostics:
llvm-as: crash05.ll:1:14: invalid type for null constant
global label zeroinitializer addrspace (75), section "c"
^
llvm-as: crash06.ll:2:14: invalid type for null constant
udiv label zeroinitializer, @0
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
4a1c4a414ca8ab087dd365eb2e5421ee8535c7ae 05-Jan-2009 Chris Lattner <sabre@nondot.org> add checking intentionally elided for vfcmp/vicmp since they should really
just be removed. However, this fixes PR3281:crash04.ll, diagnosing it with:

lvm-as: crash04.ll:2:13: vfcmp requires vector floating point operands
vfcmp uno double* undef, undef
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
d77d04c323f856b07c6e46450e7578dd09c0165f 05-Jan-2009 Chris Lattner <sabre@nondot.org> diagnose PR3281:crash02.ll with:
llvm-as: crash02.ll:1:62: invalid function return type
declare { <{ <{}>, void ([1898 x { void ()* }], opaque, ...) (), fp128 * }>, opaque } @t ()
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
99bb315f32a5f82f9e4978345ee39177db973242 05-Jan-2009 Chris Lattner <sabre@nondot.org> reject PR3281:crash01.ll with:

llvm-as: crash01.ll:1:9: invalid function return type
declare opaque @t()
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
081b505f77b183b7b029818218245cf4986e8948 05-Jan-2009 Chris Lattner <sabre@nondot.org> fix PR3281:accepted0[02].ll: represent empty arrays distinctly, and
diagnose attempts to initialize non-empty arrays with them. This
produces:
llvm-as: accepted02.ll:1:28: invalid empty array initializer
@"o" = global [5 x double] []
^
llvm-as: accepted00.ll:1:32: invalid empty array initializer
@"za" = thread_local global {} []
^
[


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3fbb3ab14d86f752a933b5af4e6728c5e57e1155 05-Jan-2009 Chris Lattner <sabre@nondot.org> PR3281:crash00.ll: produce this diagnostic instead of crashing:

@t = global i8 0, align 3
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
ad7d1e2085a489dbedc65b99bab811771ead1aab 04-Jan-2009 Chris Lattner <sabre@nondot.org> Refactor some parser interfaces to fix PR3278 and a FIXME:
ParseAssemblyString with a specified module would not parse
into the module, it would create and return a new one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
6d6b3cc89b9d1911cff4931dadfe670f94fcbb3b 02-Jan-2009 Chris Lattner <sabre@nondot.org> Fix a really horrible typo, which caused undefined behavior.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
3ed88efb03c63aae5542efcdfc5cedec9bc4c18a 02-Jan-2009 Chris Lattner <sabre@nondot.org> minor cleanups and comment improvements.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp
df98617b23315e427cc4fad8ccfdd50d68bec2f9 02-Jan-2009 Chris Lattner <sabre@nondot.org> Reimplement the old and horrible bison parser for .ll files with a nice
and clean recursive descent parser.

This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
including what is autogenerated).
2. The code should be significantly faster than the old code because we
don't have to work around bison's poor handling of datatypes with
ctors/dtors. This also makes the code much more resistant to memory
leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32". There was no good
reason to support this, it was just an accident of the old
implementation. I have no reason to think that anyone is actually using
this.
6. The syntax for sticking a global variable has changed to make it
unambiguous. I don't think anyone is depending on this since only clang
supports this and it is not solid yet, so I'm not worried about anything
breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
I'll prune this from the makefiles as a subsequent commit.

There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.cpp