summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/llvmAsmParser.y
Commit message (Collapse)AuthorAgeFilesLines
...
* For PR950:Reid Spencer2006-10-201-14/+14
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Add support for the new "target data" information in .ll files. This providesOwen Anderson2006-10-181-0/+6
| | | | | | | a better encoding of the targets data layout, rather than trying to guess it from the endianness and pointersize like before. llvm-svn: 31030
* Produce a useful error message for Regression/Verifier/2006-10-15-AddrLabel.llChris Lattner2006-10-151-0/+2
| | | | llvm-svn: 30970
* Fix PR886:Reid Spencer2006-10-091-4/+12
| | | | | | | | | | The result of yyparse() was not being checked. When YYERROR or YYABORT is called it causes yyparse() to return 1 to indicate the error. The code was silently ignoring this situation because it previously expected either an exception or a null ParserResult to indicate an error. The patch corrects this situation. llvm-svn: 30834
* Eliminate ConstantBool::True and ConstantBool::False. Instead, provideChris Lattner2006-09-281-4/+4
| | | | | | ConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30665
* Fix PR902:Reid Spencer2006-09-281-70/+171
| | | | | | | | | | | | | | Errors are generated with the YYERROR macro which can only be called from a production (inside yyparse) because of the goto statement in the macro. This lead to several situations where GEN_ERROR was not called but GenerateError was used instead (because it doesn't use YYERROR). However, in such situations, catching the error much later (e.g. at the end of the production) is not sufficient because LLVM can assert on invalid data before the end of the production is reached. The solution is to ensure that the CHECK_FOR_ERROR macro (which invokes YYERROR if there's an error) is used as soon as possible after a call to GenerateError has been made. llvm-svn: 30650
* Added some eye-candy for Subtarget type checkingAnton Korobeynikov2006-09-171-6/+9
| | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. llvm-svn: 30446
* Small fixes for supporting dll* linkage typesAnton Korobeynikov2006-09-171-8/+7
| | | | llvm-svn: 30441
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-15/+50
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* trivial optimizationChris Lattner2006-08-181-1/+4
| | | | llvm-svn: 29770
* Add a comment about the mechanisms used to rid AsmParser of exceptions.Reid Spencer2006-08-181-1/+11
| | | | llvm-svn: 29769
* For PR797:Reid Spencer2006-08-181-126/+295
| | | | | | | | | | | | | Rid the Assembly Parser of exceptions. This is a really gross hack but it will do until the Assembly Parser is re-written as a recursive descent. The basic premise is that wherever the old "ThrowException" function was called (new name: GenerateError) we set a flag (TriggerError). Every production checks that flag and calls YYERROR if it is set. Additionally, each call to ThrowException in the grammar is replaced with GEN_ERROR which calls GenerateError and then YYERROR immediately. This prevents the remaining production from continuing after an error condition. llvm-svn: 29763
* Fix grammar in a comment.Reid Spencer2006-05-291-1/+1
| | | | llvm-svn: 28534
* Add support for parsing csretChris Lattner2006-05-191-1/+2
| | | | llvm-svn: 28406
* Use isValidOperands instead of duplicating or eliding checks.Chris Lattner2006-04-081-19/+8
| | | | llvm-svn: 27525
* Add insertelement and shufflevector constantexpr supportChris Lattner2006-04-081-0/+9
| | | | llvm-svn: 27520
* Parse shufflevectorChris Lattner2006-04-081-1/+6
| | | | llvm-svn: 27511
* Don't use invalidated iterators!Chris Lattner2006-03-041-3/+3
| | | | llvm-svn: 26521
* Parse inline asm objectsChris Lattner2006-01-251-1/+30
| | | | llvm-svn: 25618
* Rename methodChris Lattner2006-01-241-3/+3
| | | | llvm-svn: 25571
* syntax changeChris Lattner2006-01-241-3/+3
| | | | llvm-svn: 25567
* Add support for parsing global asm blocksChris Lattner2006-01-231-4/+21
| | | | llvm-svn: 25557
* Make sure intrinsic auto-upgrade is invoked correctly.Reid Spencer2006-01-191-4/+4
| | | | llvm-svn: 25434
* Lexer and parser support for the insertelement operation.Robert Bocchino2006-01-171-4/+17
| | | | llvm-svn: 25403
* For PR411:Reid Spencer2006-01-161-1/+6
| | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. llvm-svn: 25366
* Added lexer and parser support for the extractelement operation.Robert Bocchino2006-01-101-2/+17
| | | | llvm-svn: 25177
* allow logical operators on packed integral typesChris Lattner2005-12-211-4/+10
| | | | llvm-svn: 24907
* Implement Regression/Assembler/2005-12-21-ZeroInitVector.llChris Lattner2005-12-211-0/+6
| | | | llvm-svn: 24903
* refactor grammar to eliminate shift-reduce conflict. Move alignment checkingChris Lattner2005-11-121-48/+44
| | | | | | code out of all of the clients and into OptAlign/OptCAlign llvm-svn: 24327
* Parse section infoChris Lattner2005-11-121-9/+41
| | | | llvm-svn: 24314
* Force vectors to be a power of two in sizeChris Lattner2005-11-101-4/+4
| | | | llvm-svn: 24265
* Allow globals to have an alignment specified. Switch to using isPowerOf2_32Chris Lattner2005-11-061-13/+25
| | | | | | at Jim's request for the checking code. llvm-svn: 24210
* factor optional alignmentChris Lattner2005-11-061-34/+23
| | | | llvm-svn: 24207
* Verify that alignment amounts are a power of 2Chris Lattner2005-11-051-0/+12
| | | | llvm-svn: 24198
* Add support alignment of allocation instructions.Nate Begeman2005-11-051-1/+17
| | | | | | | | | Add support for specifying alignment and size of setjmp jmpbufs. No targets currently do anything with this information, nor is it presrved in the bytecode representation. That's coming up next. llvm-svn: 24196
* When a function takes a variable number of pointer arguments, with a zeroJeff Cohen2005-10-231-5/+6
| | | | | | | | | | | | | pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. llvm-svn: 23888
* Fix grammarChris Lattner2005-06-241-1/+1
| | | | llvm-svn: 22279
* If we support structs as va_list, we must pass pointers to them to va_copyAndrew Lenharth2005-06-221-11/+16
| | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
* because some functions just use va_start and pass things to vfprintfAndrew Lenharth2005-06-201-0/+11
| | | | llvm-svn: 22269
* va_end fixAndrew Lenharth2005-06-191-0/+1
| | | | llvm-svn: 22262
* add a check for the mixing of vaarg and vanext with va_argAndrew Lenharth2005-06-191-0/+9
| | | | llvm-svn: 22260
* core changes for varargsAndrew Lenharth2005-06-181-5/+122
| | | | llvm-svn: 22254
* Give the asmparser the ability to parse strings. Patch contributed byChris Lattner2005-05-201-12/+27
| | | | | | Alexander Friedman llvm-svn: 22146
* * Convert tabs to spaces, fix code alignmentMisha Brukman2005-05-101-52/+50
| | | | | | | * Remove trailing whitespace * Wrap long lines llvm-svn: 21844
* parse new calling conv specifiersChris Lattner2005-05-061-43/+60
| | | | llvm-svn: 21748
* use splice instead of remove/insert for a minor speedupChris Lattner2005-05-061-4/+6
| | | | llvm-svn: 21743
* remove some ugly hacks that are no longer needed since andrew removed theChris Lattner2005-05-061-14/+6
| | | | | | varargs munging code llvm-svn: 21742
* Add a 'tail' marker for call instructions, patch contributed byChris Lattner2005-05-061-4/+20
| | | | | | Alexander Friedman. llvm-svn: 21722
* Remove support for 1.0 style varargsAndrew Lenharth2005-05-021-86/+0
| | | | | | amusing of course, because we will have to go back to those semantics soon llvm-svn: 21654
* don't crash in some bad cases.Chris Lattner2005-03-231-0/+3
| | | | llvm-svn: 20776
OpenPOWER on IntegriCloud