| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
|
|
|
| |
llvm-svn: 20461
|
|
|
|
| |
llvm-svn: 20296
|
|
|
|
| |
llvm-svn: 20295
|
|
|
|
| |
llvm-svn: 20274
|
|
|
|
| |
llvm-svn: 19966
|
|
|
|
| |
llvm-svn: 19893
|
|
|
|
|
|
| |
Bjørn Wennberg
llvm-svn: 18628
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 18303
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 17053
|
|
|
|
| |
llvm-svn: 16861
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 16321
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
is a PackedType, throw an error. Temporary solution.
Patch contributed by Brad Jones.
llvm-svn: 15963
|
|
|
|
| |
llvm-svn: 15954
|
|
|
|
| |
llvm-svn: 15938
|
|
|
|
| |
llvm-svn: 15882
|
|
|
|
| |
llvm-svn: 15325
|
|
|
|
| |
llvm-svn: 15226
|
|
|
|
|
|
| |
scrambled around almost at random, having really bad effects on icache locality.
llvm-svn: 15225
|
|
|
|
|
|
| |
Remove mem leaks resulting from not freeing parse strings.
llvm-svn: 15217
|
|
|
|
|
|
| |
Provide parsing for the target triple and dependent libraries.
llvm-svn: 15209
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 14870
|
|
|
|
|
|
| |
that is made unnecessary by it.
llvm-svn: 14831
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
functions multiple times, expecting them to be merged. This should be fixed
in the CFE, then here.
llvm-svn: 14823
|
|
|
|
|
|
|
| |
This gives us only a single call site for setValueNameMergingDuplicates.
The next stage is the start merging them together.
llvm-svn: 14811
|
|
|
|
|
|
|
| |
Since the stupid '%X = const int 4' thing is gone, we can now simplify
setValueNameMergingDuplicates a bit more.
llvm-svn: 14810
|
|
|
|
| |
llvm-svn: 14809
|
|
|
|
| |
llvm-svn: 14808
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 14805
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 14789
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
code.
llvm-svn: 14785
|
|
|
|
| |
llvm-svn: 14724
|
|
|
|
| |
llvm-svn: 14707
|
|
|
|
|
|
|
| |
any more. Needed for bug 122
- #include <iostream> since Value.h doesn't include it any more.
llvm-svn: 14621
|
|
|
|
| |
llvm-svn: 14201
|
|
|
|
| |
llvm-svn: 13862
|