- Jul 14, 2004
-
-
Chris Lattner authored
functions multiple times, expecting them to be merged. This should be fixed in the CFE, then here. llvm-svn: 14823
-
Misha Brukman authored
llvm-svn: 14822
-
Chris Lattner authored
llvm-svn: 14821
-
Chris Lattner authored
* Add comments * Add two new gep ctors for the very common case of creating a two operand GEP instruction. llvm-svn: 14820
-
Misha Brukman authored
llvm-svn: 14819
-
Misha Brukman authored
* Clarify variable name (StoreInst SI instead of LI) llvm-svn: 14818
-
Chris Lattner authored
This gives us only a single call site for setValueNameMergingDuplicates. The next stage is the start merging them together. llvm-svn: 14811
-
Chris Lattner authored
Since the stupid '%X = const int 4' thing is gone, we can now simplify setValueNameMergingDuplicates a bit more. llvm-svn: 14810
-
Chris Lattner authored
llvm-svn: 14809
-
Chris Lattner authored
llvm-svn: 14808
-
Chris Lattner authored
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
-
Brian Gaeke authored
llvm-svn: 14806
-
Chris Lattner authored
llvm-svn: 14805
-
Chris Lattner authored
llvm-svn: 14801
-
- Jul 13, 2004
-
-
Chris Lattner authored
llvm-svn: 14800
-
Misha Brukman authored
* Correctly load FP constants from the constant pool, should be refactored llvm-svn: 14799
-
Chris Lattner authored
error messages because verification stops at the first error. llvm-svn: 14794
-
Chris Lattner authored
error. Just print the message like a good little tool. llvm-svn: 14793
-
Chris Lattner authored
llvm-svn: 14792
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 14789
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Brian Gaeke authored
llvm-svn: 14786
-
Chris Lattner authored
code. llvm-svn: 14785
-
Chris Lattner authored
at all. Patch contributed by Vladimir Prus! llvm-svn: 14784
-
Chris Lattner authored
"load (cast foo)". This allows us to compile C++ code like this: class Bclass { public: virtual int operator()() { return 666; } }; class Dclass: public Bclass { public: virtual int operator()() { return 667; } } ; int main(int argc, char** argv) { Dclass x; return x(); } Into this: int %main(int %argc, sbyte** %argv) { entry: call void %__main( ) ret int 667 } Instead of this: int %main(int %argc, sbyte** %argv) { entry: %x = alloca "struct.std::bad_typeid" ; <"struct.std::bad_typeid"*> [#uses=3] call void %__main( ) %tmp.1.i.i = getelementptr "struct.std::bad_typeid"* %x, uint 0, uint 0, uint 0 ; <int (...)***> [#uses=1] store int (...)** getelementptr ([3 x int (...)*]* %vtable for Bclass, int 0, long 2), int (...)*** %tmp.1.i.i %tmp.3.i = getelementptr "struct.std::bad_typeid"* %x, int 0, uint 0, uint 0 ; <int (...)***> [#uses=1] store int (...)** getelementptr ([3 x int (...)*]* %vtable for Dclass, int 0, long 2), int (...)*** %tmp.3.i %tmp.5 = load int ("struct.std::bad_typeid"*)** cast (int (...)** getelementptr ([3 x int (...)*]* %vtable for Dclass, int 0, long 2) to int ("struct.std::bad_typeid"*)**) ; <int ("struct.std::bad_typeid"*)*> [#uses=1] %tmp.6 = call int %tmp.5( "struct.std::bad_typeid"* %x ) ; <int> [#uses=1] ret int %tmp.6 ret int 0 } In order words, we now resolve the virtual function call. llvm-svn: 14783
-
Misha Brukman authored
llvm-svn: 14782
-
Misha Brukman authored
llvm-svn: 14781
-
Misha Brukman authored
llvm-svn: 14780
-
Misha Brukman authored
* Delete extra blank lines llvm-svn: 14779
-
- Jul 12, 2004
-
-
Misha Brukman authored
llvm-svn: 14778
-
Chris Lattner authored
cases llvm-svn: 14777
-
Chris Lattner authored
llvm-svn: 14776
-
Chris Lattner authored
llvm-svn: 14775
-
Chris Lattner authored
Reid, this might matter to you :) llvm-svn: 14774
-
Chris Lattner authored
llvm-svn: 14773
-
Chris Lattner authored
llvm-svn: 14772
-
Chris Lattner authored
llvm-svn: 14770
-