History log of /external/llvm/lib/AsmParser/LLParser.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
41d6ab4b884120123e4f03bf284166f3af73deaa 24-Aug-2010 Dan Gohman <gohman@apple.com> Add a comment explaining why this code is more complex than it
initially seems it should require.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h
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.h
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.h
b45218f7c8c53ed77bc35563b2a300781be3cdd0 01-Apr-2010 Chris Lattner <sabre@nondot.org> include header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h
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.h
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.h
bc5201f8371f9041e79efcca3b158335da5c2604 22-Jan-2010 Devang Patel <dpatel@apple.com> Remove MetadataBase class because it is not adding significant value.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
5660846f15847e540066ae320a4adef7357d597d 28-Dec-2009 Chris Lattner <sabre@nondot.org> Metadata.h doesn't need to include ValueHandle.h anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
ff6c91efcf62d1cb99343fdcb2de6271520a1981 07-Jul-2009 Owen Anderson <resistor@mac.com> Use LLVMContext in the LLLexer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
92bcb426c3e4503c99324afd4ed0a73521711a56 03-Jul-2009 Chris Lattner <sabre@nondot.org> switch the .ll parser into SMDiagnostic.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
9ea4034e007a83c778cd306ea66481be1317a51b 02-Jan-2009 Misha Brukman <brukman+llvm@gmail.com> Down with trailing whitespace!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/AsmParser/LLParser.h
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.h
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.h