summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/llvmAsmParser.y
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove a bunch of cruft and dead code for handling the case when types wereChris Lattner2005-03-211-48/+30
| | | | | | | | | | | | | | | | | defined in function constant pools. The assembler grammar has long disallowed functions from having constant pools, so all of this stuff is dead. This makes it an immediate error for functions to refer to nonexisting types, fixing Regression/Verifier/2005-03-21-UndefinedTypeReference.ll. Before, references to non-existing types in functions would only be detected when the subsequent function was parsed, due to the call to "ResolveTypes". "ResolveTypes" has not resolved any types for a long time, instead it emitted an error message if no resolved types are left. Since the only caller of this method is in the module code, just inline it. llvm-svn: 20726
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-6/+6
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* zapChris Lattner2005-03-051-1/+1
| | | | llvm-svn: 20461
* add more checkingChris Lattner2005-02-241-2/+6
| | | | llvm-svn: 20296
* Do not read free'd memory when printing an error message.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20295
* C++ is not a functional programming language.Chris Lattner2005-02-221-5/+7
| | | | llvm-svn: 20274
* Fix test/Regression/Assembler/2005-01-31-CallingAggregateFunction.llChris Lattner2005-02-011-0/+3
| | | | llvm-svn: 19966
* Adjust to slight changes in instruction interfaces.Chris Lattner2005-01-291-3/+3
| | | | llvm-svn: 19893
* Add support for compilers with arg dependent name lookup, contributed byChris Lattner2004-12-081-1/+2
| | | | | | Bjørn Wennberg llvm-svn: 18628
* For PR409: \Reid Spencer2004-12-061-0/+2
| | | | | | | Make sure to check isValueValidForType on floating point constants and give \ an error if the value is not valid, otherwise it would assert in the VMCore llvm-svn: 18584
* Fix PR463Chris Lattner2004-11-281-1/+4
| | | | llvm-svn: 18303
* Plug a memory leak in the asmparser. It turns out that we were leakingChris Lattner2004-10-261-1/+1
| | | | | | | the strings for basic block labels in some cases. This amounted to about 120K of memory for namd, a medium sized program. llvm-svn: 17262
* Parse undef and unreachableChris Lattner2004-10-161-2/+15
| | | | llvm-svn: 17053
* Add a check to avoid an assertion on malformed inputChris Lattner2004-10-091-0/+3
| | | | llvm-svn: 16861
* Okay, the list of link-time passes wasn't such a hot idea. Its prone toReid Spencer2004-09-141-16/+1
| | | | | | | error. We'll strategize on this when we have multiple front ends to deal with. For now llvm-ld just runs a standard set of transforms. llvm-svn: 16333
* Add support for the link-time pass list to Modules.Reid Spencer2004-09-131-1/+16
| | | | llvm-svn: 16321
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Examine the type code in the setcc class of instructions and if itReid Spencer2004-08-211-0/+4
| | | | | | | | is a PackedType, throw an error. Temporary solution. Patch contributed by Brad Jones. llvm-svn: 15963
* quish a warningChris Lattner2004-08-201-1/+1
| | | | llvm-svn: 15954
* Packed types, brought to you by Brad JonesBrian Gaeke2004-08-201-2/+68
| | | | llvm-svn: 15938
* Work around PR424 for old c/c++ frontends.Chris Lattner2004-08-171-3/+29
| | | | llvm-svn: 15882
* Merge i*.h headers into Instructions.h as part of bug403.Alkis Evlogimenos2004-07-291-5/+2
| | | | llvm-svn: 15325
* Fix bug in previous patch :(Chris Lattner2004-07-261-6/+12
| | | | llvm-svn: 15226
* Fix an extremely serious regression that was causing LLVM basic blocks to beChris Lattner2004-07-261-0/+6
| | | | | | scrambled around almost at random, having really bad effects on icache locality. llvm-svn: 15225
* Adjust to new Module.h interface for dependent librariesReid Spencer2004-07-251-8/+7
| | | | | | Remove mem leaks resulting from not freeing parse strings. llvm-svn: 15217
* bug 263:Reid Spencer2004-07-251-1/+22
| | | | | | Provide parsing for the target triple and dependent libraries. llvm-svn: 15209
* bug 122:Reid Spencer2004-07-181-48/+47
| | | | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass - Remove tabs - Fix coments refering to ConstantPointerRef llvm-svn: 14937
* Fix the regressions handling unnamed global variablesChris Lattner2004-07-161-2/+5
| | | | llvm-svn: 14870
* This is logically part of the last patch. Just more really horrible codeChris Lattner2004-07-141-17/+0
| | | | | | that is made unnecessary by it. llvm-svn: 14831
* ** Finally DeclareNewGlobalValue is dead!Chris Lattner2004-07-141-125/+90
| | | | | | | | | | | | | | | | | | | | * Simplify a lot of code because type's cannot be in function symbol tables * Fix memory leaks in handling of redefined function prototypes * Don't use SymbolTable directly for stuff that we can go through the Module for. * Fix some minor bugs on obscure testcases like: test/Feature/globalredefinition.ll * Do not create GlobalVariable objects for forward referenced Functions! * When forward referencing a function in a constant expression, do not create a placeholder, add a bunch of references to it, then turn around and replaceAllUsesOfWith on it with a new global, deleting the placeholder. Instead, when we find the real definition of the global, just use the placeholder instead of creating a new object. This substantially simplifies the asmwriter and should even speed it up on cases heavy in constantexprs (like C++, Java, MSIL)... llvm-svn: 14830
* * Fairly substantial change. Instead of creating new globalvariables, thenChris Lattner2004-07-141-14/+49
| | | | | | | | | | replaceAllUsesWith'ing any forward references, just use the forward reference if it exists. This introduces GetForwardRefForGlobal, which will eventually completely replace the horrible DeclareNewGlobalValue function. llvm-svn: 14828
* Fold setValueNameMergingDuplicates into ParseGlobalVariable, allowing usChris Lattner2004-07-141-55/+38
| | | | | | | | | | | to substantially simplify the result. In particular, we no longer create GlobalVariables and then immediately destroy them when they are duplciate definitions. The real point of this patch though is that it gets us closer to the DeclareNewGlobalValue calls... llvm-svn: 14827
* Fix a regression from last night. Apparently the CFE is broken and outputsChris Lattner2004-07-141-6/+16
| | | | | | | functions multiple times, expecting them to be merged. This should be fixed in the CFE, then here. llvm-svn: 14823
* Pull out code shared between GV forward-decl and definition processing.Chris Lattner2004-07-141-50/+37
| | | | | | | This gives us only a single call site for setValueNameMergingDuplicates. The next stage is the start merging them together. llvm-svn: 14811
* Simplify code. Do not allow functions to be redefined more than once.Chris Lattner2004-07-141-26/+9
| | | | | | | Since the stupid '%X = const int 4' thing is gone, we can now simplify setValueNameMergingDuplicates a bit more. llvm-svn: 14810
* Remove a gross and crufty "feature" that was never documented and doesn't work.Chris Lattner2004-07-141-6/+1
| | | | llvm-svn: 14809
* Finegrainify namespacificationChris Lattner2004-07-141-6/+4
| | | | llvm-svn: 14808
* Revamp handling of labels. In particular, if we create a forward referenceChris Lattner2004-07-141-22/+71
| | | | | | | | for a basic block, use it when the block is defined instead of deleting it and creating a new one. Also, only create at most ONE forward reference for any block, instead of one for each forward reference. llvm-svn: 14807
* Split the basic block handling case out of getVal into getBBVal.Chris Lattner2004-07-141-34/+40
| | | | llvm-svn: 14805
* Fix typeo and refactor bb productions to make it possible for us to reuse anyChris Lattner2004-07-131-11/+12
| | | | | | | | forward reference blocks if they have been created (instead of creating a new block, replaceAllUsesOfWith, then nuking the placeholder). This is not yet implemented. llvm-svn: 14791
* Eliminate some mega-cruft here. There is no reason to DERIVE FROM IR CLASSESChris Lattner2004-07-131-13/+26
| | | | | | | just to keep track of some per-object state! Gaah! Whoever wrote this stuff... oh wait, that would be me. Never mind. llvm-svn: 14790
* Inline the now trivial setValueNameInternal function into both callersChris Lattner2004-07-131-13/+10
| | | | llvm-svn: 14789
* Now that basic blocks are eagerly inserted into the Function, we can useChris Lattner2004-07-131-60/+12
| | | | | | | | the funciton symbol table to check for conflicts instead of having to keep a shadow named LocalSymtab. Totally eliminate LocalSymtab. Verified that this did not cause a regression on the testcase for PR107. llvm-svn: 14788
* A couple of substantial cleanup fixes:Chris Lattner2004-07-131-47/+72
| | | | | | | | | | | | | 1. Split setValueName into two separate functions, one that is only used at function scope and doesn't have to deal with duplicates, and one that can be used either at global or function scope but that does deal with conflicts. Conflicts were only in there because of the crappy old CFE and probably should be entirely eliminated. 2. Insert BasicBlock's into the parent functions when they are created instead of when they are complete. This effects name lookup (for the better), which will be exploited in the next patch. llvm-svn: 14787
* Replace a bunch of complex ConstantPointerRef referring code with simpleChris Lattner2004-07-131-11/+3
| | | | | | code. llvm-svn: 14785
* Don't call Type::setName()Chris Lattner2004-07-091-1/+1
| | | | llvm-svn: 14724
* Eliminate uses of the UniqueID field on Type objectsChris Lattner2004-07-081-23/+18
| | | | llvm-svn: 14707
* - remove use of isa<Type>(Val) since there's no inheritance relationshipReid Spencer2004-07-041-4/+3
| | | | | | | any more. Needed for bug 122 - #include <iostream> since Value.h doesn't include it any more. llvm-svn: 14621
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-1/+1
| | | | llvm-svn: 14201
* Remove some more dead code resulting from adding setTypeName().Reid Spencer2004-05-281-5/+1
| | | | llvm-svn: 13862
OpenPOWER on IntegriCloud