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
|