- Mar 29, 2010
-
-
Devang Patel authored
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions. llvm-svn: 99816
-
Chris Lattner authored
llvm-svn: 99815
-
Anders Carlsson authored
llvm-svn: 99812
-
Douglas Gregor authored
end of a struct/class/union in C++, from Justin Bogner! llvm-svn: 99811
-
Anders Carlsson authored
llvm-svn: 99807
-
Anders Carlsson authored
Fix a nasty bug in the virtual base computation which would lead to us initializing virtual bases in the wrong order. llvm-svn: 99806
-
Rafael Espindola authored
This patch moves some methods from QualType to Type and changes the users to use -> instead of . llvm-svn: 99805
-
Anders Carlsson authored
More vtable work - it's not possible to use the new vtable code for everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit. llvm-svn: 99804
-
Anders Carlsson authored
llvm-svn: 99803
-
Anders Carlsson authored
Sprinkle some sed dust over check-ztt to make it work with newer clang asm output. (I am not a sed expert so this might be terribly inefficient :) llvm-svn: 99802
-
Anders Carlsson authored
Only add thunks for the most derived class. This fixes some link errors I was seeing in files generated by the vtable tester utility. llvm-svn: 99801
-
Anders Carlsson authored
Flip the switch to always get vtables from the VTT when necessary, I've verified that clang bootstraps with this. llvm-svn: 99800
-
Anders Carlsson authored
llvm-svn: 99799
-
Anders Carlsson authored
llvm-svn: 99798
-
Chris Lattner authored
doesn't need to be stable because the patterns are fully ordered. Add a first level sort predicate that orders patterns in this order: 1) scalar integer operations 2) scalar floating point 3) vector int 4) vector float. This is a trivial sort on their top level pattern type so it is nice and transitive. The benefit of doing this is that simple integer operations are much more common than insane vector things and isel was trying to match the big complex vector patterns before the simple ones because the complexity of the vector operations was much higher. Since they can't both match, it is best (for compile time) to try the simple integer ones first. This cuts down the # failed match attempts on real code by quite a bit, for example, this reduces backtracks on crafty (as a random example) from 228285 -> 188369. llvm-svn: 99797
-
Chris Lattner authored
llvm-svn: 99796
-
Chris Lattner authored
patterns within the generated matcher. This works great except that the sort fails because the relation defined isn't transitive. I have a much simpler solution coming next, but want to archive the code. llvm-svn: 99795
-
Chris Lattner authored
comment in the generated table. llvm-svn: 99794
-
Anders Carlsson authored
llvm-svn: 99793
-
Anders Carlsson authored
Make sure to sort the vtable thunks by their vtable index :) With this we now pass the test from http://www.codesourcery.com/public/cxx-abi/abi-examples.html#vtable-ctor successfully. llvm-svn: 99792
-
Anders Carlsson authored
llvm-svn: 99791
-
Anders Carlsson authored
llvm-svn: 99790
-
Johnny Chen authored
These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} llvm-svn: 99789
-
Anders Carlsson authored
llvm-svn: 99788
-
Anders Carlsson authored
Use construction vtables when needed. This is currently guarded by -fdump-vtable-layouts since it doesn't work 100% yet :) llvm-svn: 99787
-
Anders Carlsson authored
Two bug fixes, we weren't updating the thunk index when creating the vtable initializer and we weren't storing the secondary virtual pointer indices. llvm-svn: 99786
-
Rafael Espindola authored
Make default arguments to getFunctionNoProtoType an all or nothing option (as they already are in practise). llvm-svn: 99785
-
Rafael Espindola authored
llvm-svn: 99783
-
- Mar 28, 2010
-
-
Devang Patel authored
llvm-svn: 99778
-
Anders Carlsson authored
Reapply r99775 with a fix for a silly bug - we were setting the vtable pointer for all bases, even those without a vtable pointer :) llvm-svn: 99777
-
Anders Carlsson authored
llvm-svn: 99776
-
Anders Carlsson authored
More improvements to setting the vtable pointer. We now no longer set the vtable pointer for non-virtual primary bases. We also do a pre-order traversal of the class hierarchy; this is necessary in order to get the right vbase offset offsets in base ctors/dtors. llvm-svn: 99775
-
Chris Lattner authored
llvm-svn: 99774
-
Anders Carlsson authored
llvm-svn: 99773
-
Devang Patel authored
llvm-svn: 99772
-
Chris Lattner authored
llvm-svn: 99770
-
Anton Korobeynikov authored
Otherwise, e.g. in the invocation like clang -DFOO=\"bar\" FOO macro got the bar value, not "bar". Patch by Alexander Esilevich! llvm-svn: 99763
-
Torok Edwin authored
SELinux doesn't allow 'execmem', returning MAP_FAILED and 'Permission denied' for mmap or RWX memory. In this case AllocateRWX was returning a MemoryBlock with uninitialized fields, which sometimes caused crashes. This patch initializes MemoryBlock fields to 0, so that the RWX-failure check works. It doesn't fix the SELinux 'execmem' issues though (the JIT will not work when SELinux is in enforcing mode). llvm-svn: 99762
-
Chris Lattner authored
where an incorrect number of operands is provided to an sdnode instead of just a few cases. llvm-svn: 99761
-
Chris Lattner authored
llvm-svn: 99760
-