- Jul 13, 2004
-
-
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
"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
-
- Jul 12, 2004
-
-
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: 14767
-
- Jul 11, 2004
-
-
Reid Spencer authored
- Remove tabs - Standardize use of space around ( and ). - Consolidate the ConstantPlaceHolder class - Rename two methods to be more meaningful (ParseType, ParseTypes) - Correct indentation of blocks - Add documentation - Convert input dependent asserts to error(...) so it throws instead. Provide placeholder implementations of read_float and read_double that still read in platform-specific endianess. When I figure out how to do this without knowing the endianess of the platform, it will get implemented correctly. llvm-svn: 14765
-
Reid Spencer authored
- Add read_float and read_double in preparation for a correct implementation of bytecode floating point support. llvm-svn: 14764
-
Reid Spencer authored
llvm-svn: 14763
-
Reid Spencer authored
point values. This will be fixed when I figure out how to do it correctly without depending on knowing the endianess of a platform. llvm-svn: 14762
-
Chris Lattner authored
llvm-svn: 14761
-
Chris Lattner authored
llvm-svn: 14760
-
Chris Lattner authored
llvm-svn: 14759
-
Chris Lattner authored
The shared command line options are now in a header that makes sense. llvm-svn: 14757
-
Chris Lattner authored
The shared command line options are now in a header that makes sense. llvm-svn: 14756
-
Chris Lattner authored
llvm-svn: 14755
-
Chris Lattner authored
also gives the JIT the ability to dynamically load targets. e.g. lli -load libparisc.so -march=parisc foo.bc llvm-svn: 14750
-
Chris Lattner authored
I told you this file wasn't useless :) llvm-svn: 14749
-
Chris Lattner authored
llvm-svn: 14747
-
Chris Lattner authored
llvm-svn: 14745
-
Chris Lattner authored
llvm-svn: 14744
-
Chris Lattner authored
will grow in time. llvm-svn: 14743
-
Chris Lattner authored
is a bad idea. Make tools that want the option #include PluginSupport.h explicitly. llvm-svn: 14738
-
- Jul 10, 2004
-
-
Reid Spencer authored
Patch found and provided by Vladimir Merzliakov. Thanks Vladimir! llvm-svn: 14732
-
Reid Spencer authored
expanded size instead of the file size). Thanks Chris. llvm-svn: 14731
-
Reid Spencer authored
- get rid of PARSE_ERROR macro - add error(std::string) function - use error(std::string) for all errors - make input dependent asserts call error(std::string) instead - ensure asserts are only for logic bugs, not input discrepancies. llvm-svn: 14729
-
- Jul 09, 2004
-
-
Reid Spencer authored
global type plane starts with a length and the TypeTyID value to identify the type plane has having type definitions. This doesn't happen in 1.3 because the types are read from a known position in the file. However, the TypeTyID must be read in (and ignored) if its a 1.2 bytecode file. llvm-svn: 14728
-
Chris Lattner authored
llvm-svn: 14726
-
Chris Lattner authored
llvm-svn: 14725
-
Chris Lattner authored
llvm-svn: 14724
-
Misha Brukman authored
The large diff is because of indentation of a whole region * Fix querying predecessor blocks in SelectPHINodes(), thanks to Brian (v8) * Add support for external functions malloc() and free() * Fix some code indentation Remember, kids: It's not plagiarism if you "creatively borrow" from your sources. It's called "research"! llvm-svn: 14723
-
Misha Brukman authored
llvm-svn: 14722
-
Misha Brukman authored
* Fix spacing, grammar in comment * Make code layout consistent * Wrap code at 80 cols * Delete spurious blank lines No functional changes. llvm-svn: 14721
-
Alkis Evlogimenos authored
llvm-svn: 14720
-
Alkis Evlogimenos authored
llvm-svn: 14719
-