| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
dominators
once at the beginning of GVN instead of once per iteration.
llvm-svn: 123278
|
| |
|
|
|
|
|
|
| |
For one, MachineBasicBlock::getFirstTerminator() doesn't understand what is
happening, and it also makes sense to have all control flow run through the
DBG_VALUE.
llvm-svn: 123277
|
| |
|
|
| |
llvm-svn: 123276
|
| |
|
|
|
|
| |
think it is safe to mark all type infos with unnamed_addr, but I am not sure.
llvm-svn: 123275
|
| |
|
|
|
|
| |
This is not yet completely enabled.
llvm-svn: 123274
|
| |
|
|
|
|
| |
miscomparisons.
llvm-svn: 123273
|
| |
|
|
| |
llvm-svn: 123272
|
| |
|
|
| |
llvm-svn: 123271
|
| |
|
|
|
|
| |
x86-64 Linux.
llvm-svn: 123270
|
| |
|
|
| |
llvm-svn: 123269
|
| |
|
|
|
|
|
|
|
| |
methods to verify that they assign 'self' to the
result of an initialization call (e.g. [super init], or [self initWith..]) before using any instance variable or
returning 'self'.
llvm-svn: 123264
|
| |
|
|
| |
llvm-svn: 123263
|
| |
|
|
|
|
|
|
|
|
|
| |
cocoa::deriveNamingConvention to control whether
the prefix should be ignored.
E.g. if ignorePrefix is true, "_init" and "init" selectors will both be result in InitRule, but if
ignorePrefix is false, only "init" will return InitRule.
llvm-svn: 123262
|
| |
|
|
|
|
| |
conveniently distinguish between loads/stores.
llvm-svn: 123261
|
| |
|
|
|
|
| |
to track down the gcc bootstrap miscompare.
llvm-svn: 123254
|
| |
|
|
| |
llvm-svn: 123253
|
| |
|
|
|
|
|
| |
generated ARM match table, which is substantially more efficient than dealing
with tblgen.
llvm-svn: 123252
|
| |
|
|
| |
llvm-svn: 123248
|
| |
|
|
| |
llvm-svn: 123247
|
| |
|
|
| |
llvm-svn: 123246
|
| |
|
|
|
|
| |
from James Widman.
llvm-svn: 123245
|
| |
|
|
|
|
|
|
|
| |
number of explicit call arguments. This actually fixes an erroneous
test for [temp.deduct.partial]p11, where we were considering
parameters corresponding to arguments beyond those that were
explicitly provided.
llvm-svn: 123244
|
| |
|
|
| |
llvm-svn: 123243
|
| |
|
|
| |
llvm-svn: 123242
|
| |
|
|
|
|
| |
Clang does not wrap the vectors in structs anymore so this isn't needed.
llvm-svn: 123241
|
| |
|
|
| |
llvm-svn: 123240
|
| |
|
|
|
|
| |
predication code operands based on the "canonical mnemonic".
llvm-svn: 123239
|
| |
|
|
|
|
|
|
|
|
| |
carry setting flag from the mnemonic.
Note that this currently involves me disabling a number of working cases in
arm_instructions.s, this is a hopefully short term evil which will be rapidly
fixed (and greatly surpassed), assuming my current approach flies.
llvm-svn: 123238
|
| |
|
|
| |
llvm-svn: 123237
|
| |
|
|
| |
llvm-svn: 123236
|
| |
|
|
|
|
|
|
|
|
|
| |
"this" pointer for any subclass of User, you could static_cast it to
User* and then reinterpret_cast that to Use* to get the end of the
operand list. This isn't a safe assumption in general, because the
static_cast might adjust the "this" pointer. Fixed by having these
OperandTraits classes take an extra template parameter, which is the
subclass of User. This is groundwork for PR889.
llvm-svn: 123235
|
| |
|
|
|
|
|
|
| |
a new helper function so it can be reused in e.g. an upcoming SimplifySwitchOnSelect.
No functional change.
llvm-svn: 123234
|
| |
|
|
|
|
|
|
| |
the traditional build.
Patch by arrowdodger!
llvm-svn: 123233
|
| |
|
|
|
|
| |
llvm_process_sources.
llvm-svn: 123232
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LL or i64 suffix is used. This MSVC behavior.
For example:
void f(long long){ printf("long long"); }
void f(unsigned long long) { printf("unsigned long long"); }
int main() {
f(0xffffffffffffffffLL);
}
Will print "long long" using MSVC.
This patch also fixes 16 compile errors related to overloading issues when parsing the MSVC 2008 C++ standard lib.
llvm-svn: 123231
|
| |
|
|
|
|
|
|
|
| |
i64 is like LL
i32 is like L
Also set isMicrosoftInteger to true only if the suffix is well formed.
llvm-svn: 123230
|
| |
|
|
| |
llvm-svn: 123229
|
| |
|
|
|
|
| |
clash using MSVC.
llvm-svn: 123228
|
| |
|
|
| |
llvm-svn: 123227
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Filling no-ops is done just before emitting of assembly,
when the instruction stream is final. No-ops are inserted
to align the instructions so the dual-issue of the pipeline
is utilized. This speeds up generated code with a minimum of
1% on a select set of algorithms.
This pass may be redundant if the instruction scheduler and
all subsequent passes that modify the instruction stream
(prolog+epilog inserter, register scavenger, are there others?)
are made aware of the instruction alignments.
llvm-svn: 123226
|
| |
|
|
|
|
| |
to get a testcase.
llvm-svn: 123225
|
| |
|
|
|
|
|
| |
actually reached in the testcase in PR8954, but it's safe and good
practice.
llvm-svn: 123224
|
| |
|
|
|
|
| |
is floating around in the ether.
llvm-svn: 123223
|
| |
|
|
|
|
|
|
|
|
| |
phi nodes. It is called from MergeBlockIntoPredecessor which is
called from GVN, which claims to preserve these.
I'm skeptical that this is the actual problem behind PR8954, but
this is a stab in the right direction.
llvm-svn: 123222
|
| |
|
|
| |
llvm-svn: 123221
|
| |
|
|
| |
llvm-svn: 123220
|
| |
|
|
|
|
|
| |
neccesarily an uncond branch to the header. This fixes
PR8955 (the assertion tripping).
llvm-svn: 123219
|
| |
|
|
| |
llvm-svn: 123218
|
| |
|
|
|
|
|
|
| |
to use a node builder. This paves the way
for Checkers to interpose (via a "visit" method)
at the entrance to blocks.
llvm-svn: 123217
|
| |
|
|
|
|
| |
that just forwarded to ento::SubEngine.
llvm-svn: 123216
|