| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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: 14806
|
| |
|
|
| |
llvm-svn: 14805
|
| |
|
|
| |
llvm-svn: 14801
|
| |
|
|
| |
llvm-svn: 14800
|
| |
|
|
|
|
| |
* Correctly load FP constants from the constant pool, should be refactored
llvm-svn: 14799
|
| |
|
|
|
|
| |
error messages because verification stops at the first error.
llvm-svn: 14794
|
| |
|
|
|
|
| |
error. Just print the message like a good little tool.
llvm-svn: 14793
|
| |
|
|
| |
llvm-svn: 14792
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 14786
|
| |
|
|
|
|
| |
code.
llvm-svn: 14785
|
| |
|
|
|
|
| |
at all. Patch contributed by Vladimir Prus!
llvm-svn: 14784
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"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
|
| |
|
|
| |
llvm-svn: 14782
|
| |
|
|
| |
llvm-svn: 14781
|
| |
|
|
| |
llvm-svn: 14780
|
| |
|
|
|
|
| |
* Delete extra blank lines
llvm-svn: 14779
|
| |
|
|
| |
llvm-svn: 14778
|
| |
|
|
|
|
| |
cases
llvm-svn: 14777
|
| |
|
|
| |
llvm-svn: 14776
|
| |
|
|
| |
llvm-svn: 14775
|
| |
|
|
|
|
| |
Reid, this might matter to you :)
llvm-svn: 14774
|
| |
|
|
| |
llvm-svn: 14773
|
| |
|
|
| |
llvm-svn: 14772
|
| |
|
|
| |
llvm-svn: 14770
|
| |
|
|
|
|
|
| |
* Add link to bugzilla bug with list of miscompiled SparcV9 programs
* Wrap long lines
llvm-svn: 14769
|
| |
|
|
| |
llvm-svn: 14768
|
| |
|
|
| |
llvm-svn: 14767
|
| |
|
|
| |
llvm-svn: 14766
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
| |
- Add read_float and read_double in preparation for a correct
implementation of bytecode floating point support.
llvm-svn: 14764
|
| |
|
|
| |
llvm-svn: 14763
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 14761
|
| |
|
|
|
|
| |
night
llvm-svn: 14760
|
| |
|
|
| |
llvm-svn: 14759
|
| |
|
|
|
|
| |
targets that are loaded
llvm-svn: 14758
|
| |
|
|
|
|
| |
The shared command line options are now in a header that makes sense.
llvm-svn: 14757
|
| |
|
|
|
|
| |
The shared command line options are now in a header that makes sense.
llvm-svn: 14756
|
| |
|
|
| |
llvm-svn: 14755
|
| |
|
|
|
|
| |
that makes sense.
llvm-svn: 14754
|
| |
|
|
| |
llvm-svn: 14753
|
| |
|
|
|
|
|
|
|
| |
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
|