| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 62462
|
| |
|
|
|
|
|
|
|
| |
doing very similar pointer capture analysis.
Factor out the common logic. The new version
is from FunctionAttrs since it does a better
job than the version in BasicAliasAnalysis
llvm-svn: 62461
|
| |
|
|
| |
llvm-svn: 62459
|
| |
|
|
|
|
| |
supposed to take two arguments.
llvm-svn: 62457
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
putc, puts, perror, vscanf and vsscanf from getting annotations.
Add annotations for eight printf functions, memalign, pread and pwrite.
On Linux, llvm-gcc sometimes renames strdup, getc, putc, strtok_r, scanf and
sscanf. Match the alternate function names.
Fix a crash annotating opendir.
Don't mark fsetpos's second parameter as nocapture. It's supposed to be
captured.
Do mark fopen's path and mode strings as nocapture. Mark ferror as readonly,
but not fileno which may set errno.
llvm-svn: 62456
|
| |
|
|
| |
llvm-svn: 62436
|
| |
|
|
| |
llvm-svn: 62430
|
| |
|
|
| |
llvm-svn: 62428
|
| |
|
|
| |
llvm-svn: 62423
|
| |
|
|
| |
llvm-svn: 62421
|
| |
|
|
| |
llvm-svn: 62418
|
| |
|
|
| |
llvm-svn: 62415
|
| |
|
|
|
|
| |
folded in 64-bit mode.
llvm-svn: 62413
|
| |
|
|
| |
llvm-svn: 62412
|
| |
|
|
| |
llvm-svn: 62410
|
| |
|
|
| |
llvm-svn: 62406
|
| |
|
|
| |
llvm-svn: 62405
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
X86. This code:
void f() {
uint32_t x;
float y = (float)x;
}
used to be:
movl %eax, -8(%ebp)
movl [2^52 double], -4(%ebp)
movsd -8(%ebp), %xmm0
subsd [2^52 double], %xmm0
cvtsd2ss %xmm0, %xmm0
Is now:
movsd [2^52 double], %xmm0
movsd %xmm0, %xmm1
movd %ecx, %xmm2
orps %xmm2, %xmm1
subsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm0
This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That
will be fixed in a later coalescer fix.
llvm-svn: 62404
|
| |
|
|
| |
llvm-svn: 62394
|
| |
|
|
|
|
|
|
| |
functionally equivalent
if this works out, I'll change the others next.
llvm-svn: 62385
|
| |
|
|
| |
llvm-svn: 62384
|
| |
|
|
| |
llvm-svn: 62383
|
| |
|
|
| |
llvm-svn: 62377
|
| |
|
|
|
|
| |
PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's.
llvm-svn: 62373
|
| |
|
|
|
|
|
| |
Makes possible to specify options that take multiple arguments (a-la
-sectalign on Darwin). See documentation for details.
llvm-svn: 62372
|
| |
|
|
|
|
| |
implement getSubtargetImpl.
llvm-svn: 62369
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
and every other instruction in their blocks to keep the terminator
instructions at the end, teach the post-RA scheduler how to operate
on ranges of instructions, and exclude terminators from the range
of instructions that get scheduled.
Also, exclude mid-block labels, such as EH_LABEL instructions, and
schedule code before them separately from code after them. This
fixes problems with the post-RA scheduler moving code past
EH_LABELs.
llvm-svn: 62366
|
| |
|
|
|
|
|
| |
to 0, to ensure that the subsequent code doesn't try to break the
dependence.
llvm-svn: 62365
|
| |
|
|
|
|
| |
member directly, which is private as of r55504.
llvm-svn: 62364
|
| |
|
|
|
|
|
| |
simple %prcontext which doesn't find what it's looking for
if the scheduler has rearranged the instructions.
llvm-svn: 62363
|
| |
|
|
|
|
|
|
| |
array instead, since this is what the scheduler actually cares about.
And remove a check that is unnecessary, since it can assume that
SUnits isn't empty.
llvm-svn: 62362
|
| |
|
|
|
|
| |
is a leaf node. Patch by Brandner!
llvm-svn: 62361
|
| |
|
|
| |
llvm-svn: 62359
|
| |
|
|
| |
llvm-svn: 62358
|
| |
|
|
|
|
| |
by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions.
llvm-svn: 62356
|
| |
|
|
| |
llvm-svn: 62354
|
| |
|
|
|
|
| |
PR3334.
llvm-svn: 62352
|
| |
|
|
| |
llvm-svn: 62351
|
| |
|
|
| |
llvm-svn: 62350
|
| |
|
|
| |
llvm-svn: 62341
|
| |
|
|
| |
llvm-svn: 62338
|
| |
|
|
|
|
| |
that's not constant whether it's "internal" or not. In a server / client environment, GV is returned in the same block of memory as code. However, the memory might not be writable.
llvm-svn: 62336
|
| |
|
|
| |
llvm-svn: 62330
|
| |
|
|
| |
llvm-svn: 62328
|
| |
|
|
|
|
| |
warning.
llvm-svn: 62327
|
| |
|
|
|
|
| |
Make the debugging dump be a full line.
llvm-svn: 62325
|
| |
|
|
| |
llvm-svn: 62322
|
| |
|
|
| |
llvm-svn: 62319
|
| |
|
|
|
|
|
| |
Split Support/Registry.h into two files so that we have less to
recompile every time CommandLine.h is changed.
llvm-svn: 62312
|
| |
|
|
| |
llvm-svn: 62308
|