- Oct 13, 2009
-
-
Mike Stump authored
offsets for covariant thunks. llvm-svn: 83965
-
Benjamin Kramer authored
llvm-svn: 83964
-
Chris Lattner authored
which is a common idiom to improve PIC'ness of code using the addr of label extension. This implementation is a gross hack, but the only other alternative would be to teach evalutate about this horrid combination. While GCC allows things like "&&foo - &&bar + 1", people don't use this in practice. This implements PR5131. llvm-svn: 83957
-
Chris Lattner authored
1. CGF now has fewer bytes of state (one pointer instead of a vector). 2. The generated code is determinstic, instead of getting labels in 'map order' based on pointer addresses. 3. Clang now emits one 'indirect goto switch' for each function, instead of one for each indirect goto. This fixes an M*N = N^2 IR size issue when there are lots of address-taken labels and lots of indirect gotos. 4. This also makes the default cause do something useful, reducing the size of the jump table needed (by one). llvm-svn: 83952
-
Chris Lattner authored
for a null pointer. In other words, "&&foo != NULL" will always work out to true. llvm-svn: 83948
-
Chris Lattner authored
more places in clang codegen now. llvm-svn: 83947
-
Devang Patel authored
llvm-svn: 83928
-
Devang Patel authored
llvm-svn: 83913
-
Devang Patel authored
llvm-svn: 83912
-
- Oct 12, 2009
-
-
Anders Carlsson authored
llvm-svn: 83900
-
Anders Carlsson authored
llvm-svn: 83886
-
Anders Carlsson authored
llvm-svn: 83883
-
Anders Carlsson authored
llvm-svn: 83882
-
Anders Carlsson authored
Factor out devirtualization checking into a separate function and make it handle references correctly. llvm-svn: 83880
-
Anders Carlsson authored
llvm-svn: 83816
-
Benjamin Kramer authored
llvm-svn: 83808
-
Benjamin Kramer authored
llvm-svn: 83800
-
Anders Carlsson authored
llvm-svn: 83798
-
- Oct 11, 2009
-
-
Anders Carlsson authored
llvm-svn: 83793
-
- Oct 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 83732
-
Fariborz Jahanian authored
variable inside the block. llvm-svn: 83729
-
Devang Patel authored
llvm-svn: 83676
-
- Oct 09, 2009
-
-
Mike Stump authored
llvm-svn: 83659
-
Mike Stump authored
llvm-svn: 83609
-
Douglas Gregor authored
llvm-svn: 83582
-
- Oct 08, 2009
-
-
Devang Patel authored
Record location info before emiting alloca for arguments. This allows arguments to have proper location info. llvm-svn: 83567
-
Anders Carlsson authored
If a global initializer has a non-trivial constructor or destructor, we never want to defer generation of it, even if it is declared static. With this change we're finally able to compile and run the (infamous) #include <string> #include <iostream> int main(int argc, char **argv) { std::cout << "Hello, World" << std::endl; } $ clang hello.cpp -lstdc++ -o hello $ ./hello Hello, World llvm-svn: 83559
-
Anders Carlsson authored
llvm-svn: 83557
-
- Oct 07, 2009
-
-
Anders Carlsson authored
llvm-svn: 83448
-
Anders Carlsson authored
Add a MangleContext and pass it to all mangle functions. It will be used for keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442
-
Anders Carlsson authored
llvm-svn: 83428
-
Anders Carlsson authored
Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base class offsets. Fix the code to handle virtual bases as well. llvm-svn: 83426
-
- Oct 06, 2009
-
-
Anders Carlsson authored
llvm-svn: 83420
-
Devang Patel authored
llvm-svn: 83419
-
Devang Patel authored
This is not yet enabled. llvm-svn: 83399
-
Anders Carlsson authored
Emit the destructor epilogue in a cleanup block so a return from a destructor body still calls the epilogue. llvm-svn: 83397
-
Anders Carlsson authored
llvm-svn: 83395
-
Devang Patel authored
llvm-svn: 83352
-
Mike Stump authored
llvm-svn: 83342
-
Mike Stump authored
llvm-svn: 83337
-