- Jul 13, 2004
-
-
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
-
Misha Brukman authored
* Add link to bugzilla bug with list of miscompiled SparcV9 programs * Wrap long lines llvm-svn: 14769
-
Chris Lattner authored
llvm-svn: 14768
-
Chris Lattner authored
llvm-svn: 14767
-
Reid Spencer authored
llvm-svn: 14766
-
- 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
targets that are loaded llvm-svn: 14758
-
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
that makes sense. llvm-svn: 14754
-
Chris Lattner authored
llvm-svn: 14753
-
Chris Lattner authored
the ability to dynamically load and use targets that are not linked into it statically. e.g.: llc -load libparisc.so -march=parisc foo.bc -o foo.s llvm-svn: 14751
-
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
Add two methods which are useful for autoselecting targets. llvm-svn: 14748
-
Chris Lattner authored
llvm-svn: 14747
-
Chris Lattner authored
llvm-svn: 14746
-
Chris Lattner authored
llvm-svn: 14745
-
Chris Lattner authored
llvm-svn: 14744
-