| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
GDMContext.
llvm-svn: 60150
|
| |
|
|
| |
llvm-svn: 60149
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Make it fold blocks separated by an unconditional branch. This enables
jump threading to see a broader scope.
2. Make jump threading able to eliminate locally redundant loads when they
feed the branch condition of a block. This frequently occurs due to
reg2mem running.
3. Make jump threading able to eliminate *partially redundant* loads when
they feed the branch condition of a block. This is common in code with
lots of loads and stores like C++ code and 255.vortex.
This implements thread-loads.ll and rdar://6402033.
Per the fixme's, several pieces of this should be moved into Transforms/Utils.
llvm-svn: 60148
|
| |
|
|
| |
llvm-svn: 60147
|
| |
|
|
| |
llvm-svn: 60146
|
| |
|
|
| |
llvm-svn: 60145
|
| |
|
|
| |
llvm-svn: 60144
|
| |
|
|
|
|
|
|
|
|
| |
- Creator function pointers are saved in ManagerRegistry.
- The Register* class is used to notify ManagerRegistry new module is
available.
- AnalysisManager queries ManagerRegistry for configurable module. Then it
passes them to GRExprEngine, in turn to GRStateManager.
llvm-svn: 60143
|
| |
|
|
|
|
|
|
|
|
|
|
| |
id<P0>
The intended overloading behavior of these entities isn't entirely
clear, and GCC seems to have some strange limitations (e.g., the
inability to overload on id<P0> vs. id<P1>). We'll want to revisit
these semantics and determine just how Objective-C++ overloading
should really work.
llvm-svn: 60142
|
| |
|
|
| |
llvm-svn: 60141
|
| |
|
|
| |
llvm-svn: 60140
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size.
e.g.
movl 4(%esp), %eax
addl $4, %eax
is 2 bytes shorter than
movl $4, %eax
addl 4(%esp), %eax
llvm-svn: 60139
|
| |
|
|
| |
llvm-svn: 60138
|
| |
|
|
| |
llvm-svn: 60137
|
| |
|
|
| |
llvm-svn: 60136
|
| |
|
|
| |
llvm-svn: 60135
|
| |
|
|
| |
llvm-svn: 60134
|
| |
|
|
|
|
| |
until we can enable blocks in C++
llvm-svn: 60133
|
| |
|
|
|
|
|
|
| |
- a table including the IdentifierInfo data
- an index from persistent IdentifierInfo IDs to indices within this file.
- Enhance PTH generation to write out file map information, mapping inodes to tokens.
llvm-svn: 60132
|
| |
|
|
| |
llvm-svn: 60131
|
| |
|
|
|
|
|
|
|
|
|
|
| |
converting a pointer to one Objective-C interface into a pointer to another
Objective-C interface, and conversions with 'id'. The semantics seems
to match GCC, although they seem somewhat ad hoc.
Fixed a few cases where we assumed the C++ definition of isObjectType,
but were getting the C definition, causing failures in trouble with
conversions to void pointers.
llvm-svn: 60130
|
| |
|
|
| |
llvm-svn: 60128
|
| |
|
|
| |
llvm-svn: 60127
|
| |
|
|
| |
llvm-svn: 60125
|
| |
|
|
| |
llvm-svn: 60124
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the conditional for the BRCOND statement. For instance, it will generate:
addl %eax, %ecx
jo LOF
instead of
addl %eax, %ecx
; About 10 instructions to compare the signs of LHS, RHS, and sum.
jl LOF
llvm-svn: 60123
|
| |
|
|
| |
llvm-svn: 60122
|
| |
|
|
|
|
|
|
|
|
| |
performance in most cases on the Grawp tester, but does speed some
things up (like shootout/hash by 15%). This also doesn't impact
compile time in a noticable way on the Grawp tester.
It also, of course, gets the testcase it was designed for right :)
llvm-svn: 60120
|
| |
|
|
| |
llvm-svn: 60119
|
| |
|
|
|
|
|
|
| |
-Change Parser::ParseCXXScopeSpecifier to MaybeParseCXXScopeSpecifier
-Remove Parser::isTokenCXXScopeSpecifier and fold it into MaybeParseCXXScopeSpecifier
-Rename Parser::TryAnnotateScopeToken to TryAnnotateCXXScopeToken and only allow it to be called when in C++
llvm-svn: 60117
|
| |
|
|
|
|
| |
Fixes building error on MSVC where passing bool couldn't resolve to one of the overloads.
llvm-svn: 60116
|
| |
|
|
| |
llvm-svn: 60115
|
| |
|
|
|
|
|
|
| |
Implemented anonymous category (also know as continuation class)
used to override main class's property attribute. This is work in
propgress.
llvm-svn: 60114
|
| |
|
|
| |
llvm-svn: 60113
|
| |
|
|
| |
llvm-svn: 60112
|
| |
|
|
| |
llvm-svn: 60111
|
| |
|
|
| |
llvm-svn: 60110
|
| |
|
|
|
|
| |
PR3134.
llvm-svn: 60109
|
| |
|
|
|
|
| |
and operation legalization does something useful.
llvm-svn: 60108
|
| |
|
|
| |
llvm-svn: 60107
|
| |
|
|
| |
llvm-svn: 60105
|
| |
|
|
| |
llvm-svn: 60104
|
| |
|
|
| |
llvm-svn: 60102
|
| |
|
|
| |
llvm-svn: 60101
|
| |
|
|
| |
llvm-svn: 60100
|
| |
|
|
| |
llvm-svn: 60099
|
| |
|
|
|
|
| |
Custom lower AND, OR, XOR bitwise operations.
llvm-svn: 60098
|
| |
|
|
|
|
| |
interface pointers
llvm-svn: 60096
|
| |
|
|
| |
llvm-svn: 60095
|
| |
|
|
|
|
| |
makes ActOnCallExpr simpler
llvm-svn: 60094
|