- Jan 22, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 173156
-
Evgeniy Stepanov authored
Volatile bitfields can cause valid stores of uninitialized bits. llvm-svn: 173153
-
Tim Northover authored
This is a follow-up to r171845, which fixes the same issue in the Support code. Only targets with >256 relocations (principally AArch64) should be affected. llvm-svn: 173151
-
Chandler Carruth authored
generic function calls and intrinsics. This is somewhat overlapping with an existing intrinsic cost method, but that one seems targetted at vector intrinsics. I'll merge them or separate their names and use cases in a separate commit. This sinks the test of 'callIsSmall' down into TTI where targets can control it. The whole thing feels very hack-ish to me though. I've left a FIXME comment about the fundamental design problem this presents. It isn't yet clear to me what the users of this function *really* care about. I'll have to do more analysis to figure that out. Putting this here at least provides it access to proper analysis pass tools and other such. It also allows us to more cleanly implement the baseline cost interfaces in TTI. With this commit, it is now theoretically possible to simplify much of the inline cost analysis's handling of calls by calling through to this interface. That conversion will have to happen in subsequent commits as it requires more extensive restructuring of the inline cost analysis. The CodeMetrics class is now really only in the business of running over a block of code and aggregating the metrics on that block of code, with the actual cost evaluation done entirely in terms of TTI. llvm-svn: 173148
-
NAKAMURA Takumi authored
llvm-svn: 173144
-
Tim Northover authored
llvm-svn: 173141
-
Tim Northover authored
Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. llvm-svn: 173138
-
NAKAMURA Takumi authored
llvm-svn: 173128
-
NAKAMURA Takumi authored
llvm-svn: 173127
-
Michael Gottesman authored
allows for gvn to perform certain optimizations. Thus the runline should only contain -objc-arc-aa, not the full -objc-arc. llvm-svn: 173126
-
NAKAMURA Takumi authored
llvm-svn: 173123
-
Daniel Dunbar authored
llvm-svn: 173120
-
NAKAMURA Takumi authored
llvm-svn: 173112
-
Andrew Trick authored
Manish already fixed this test to work with NoTTI. llvm-svn: 173110
-
Bill Wendling authored
llvm-svn: 173109
-
Bill Wendling authored
llvm-svn: 173108
-
Bill Wendling authored
llvm-svn: 173106
-
Joel Jones authored
llvm-svn: 173103
-
Bill Wendling authored
llvm-svn: 173101
-
- Jan 21, 2013
-
-
Bill Wendling authored
This further restricts the use of the Attribute class to the Attribute family of classes. llvm-svn: 173098
-
Bill Wendling authored
This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. llvm-svn: 173094
-
Paul Redmond authored
(sub 0, (sext bool to A)) to (zext bool to A). Patch by Muhammad Ahmad Reviewed by Duncan Sands llvm-svn: 173093
-
Michael Ilseman authored
llvm-svn: 173092
-
Richard Osborne authored
llvm-svn: 173090
-
Jakub Staszak authored
llvm-svn: 173088
-
Richard Osborne authored
llvm-svn: 173087
-
Richard Osborne authored
llvm-svn: 173086
-
Richard Osborne authored
llvm-svn: 173085
-
Richard Osborne authored
llvm-svn: 173083
-
Chris Lattner authored
so revert it for now. llvm-svn: 173074
-
Chris Lattner authored
rework the Bitstream reader to actually work a machine word at a time, instead of 32-bits at a time. This cuts in half the number of virtual methods called to refill that word when compiling on a 64-bit host, and will make 64-bit read operations faster. llvm-svn: 173072
-
Chris Lattner authored
BLOB (i.e., large, performance intensive data) in a bitcode file was switched to invoking one virtual method call per byte read. Now we do one virtual call per BLOB. llvm-svn: 173065
-
Michael Ilseman authored
A SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's desirable properties. Essentially, SparseMultiSet provides multiset behavior by storing its dense data in doubly linked lists that are inlined into the dense vector. This allows it to provide good data locality as well as vector-like constant-time clear() and fast constant time find(), insert(), and erase(). It also allows SparseMultiSet to have a builtin recycler rather than keeping SparseSet's behavior of always swapping upon removal, which allows it to preserve more iterators. It's often a better alternative to a SparseSet of a growable container or vector-of-vector. llvm-svn: 173064
-
Chris Lattner authored
it reason about the current bit position, which is always independent of the underlying cursors word size. llvm-svn: 173063
-
Chris Lattner authored
llvm-svn: 173062
-
Nadav Rotem authored
llvm-svn: 173061
-
Tom Stellard authored
Patch by: Michel Dänzer Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173053
-
Tom Stellard authored
Patch by: Michel Dänzer Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173052
-
Tom Stellard authored
Patch by: Michel Dänzer Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173051
-
NAKAMURA Takumi authored
llvm-svn: 173040
-