| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
llvm-svn: 145460
|
| |
|
|
|
|
| |
not be changed inside the uses enumeration loop.
llvm-svn: 145432
|
| |
|
|
| |
llvm-svn: 145420
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
weak variable are compiled by different compilers, such as GCC and LLVM, while
LLVM may increase the alignment to the preferred alignment there is no reason to
think that GCC will use anything more than the ABI alignment. Since it is the
GCC version that might end up in the final program (as the linkage is weak), it
is wrong to increase the alignment of loads from the global up to the preferred
alignment as the alignment might only be the ABI alignment.
Increasing alignment up to the ABI alignment might be OK, but I'm not totally
convinced that it is. It seems better to just leave the alignment of weak
globals alone.
llvm-svn: 145413
|
| |
|
|
|
|
|
| |
This reverts r139450, fixes r139453, and adds much needed comments and a
unit test.
llvm-svn: 145367
|
| |
|
|
|
|
| |
but I don't really want to try to write a testcase involving an invoke returning a pointer to a varargs function...
llvm-svn: 145347
|
| |
|
|
| |
llvm-svn: 145316
|
| |
|
|
|
|
| |
SCEV should now be used for trip count analysis, not LoopInfo.
llvm-svn: 145262
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
gcc, though I thought it was older (my gcc 4.4 has it as a local patch. Whoops!)
This fixes PR10589.
Also add some debugging statements.
Remove GcnoFiles, the mapping from CompilationUnit to raw_ostream. Now that we
start by iterating over each CU and descending into them, there's no need to
maintain a mapping.
llvm-svn: 145208
|
| |
|
|
| |
llvm-svn: 145154
|
| |
|
|
| |
llvm-svn: 145092
|
| |
|
|
|
|
|
|
| |
Suggested in code review by Eli.
That code in InstCombine looks kinda suspicious.
llvm-svn: 145013
|
| |
|
|
|
|
| |
large chunks of inline assembler
llvm-svn: 144962
|
| |
|
|
|
|
| |
r144933. For some reason this compiles on linux
llvm-svn: 144936
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The right way to check for a binary operation is
cast<BinaryOperator>. The original check: cast<Instruction> &&
numOperands() == 2 would match phi "instructions", leading to an
infinite loop in extreme corner case: a useless phi with operands
[self, constant] that prior optimization passes failed to remove,
being used in the loop by another useless phi, in turn being used by an
lshr or udiv.
Fixes PR11350: runaway iteration assertion.
llvm-svn: 144935
|
| |
|
|
|
|
| |
asan; add a test check that asan does not touch linkonce_odr
llvm-svn: 144933
|
| |
|
|
|
|
|
|
|
|
| |
Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom
names for fwrite and fputs.
Fixes <rdar://problem/9815881>.
llvm-svn: 144876
|
| |
|
|
|
|
| |
looking at the size of the pointee. Fixes PR11390!
llvm-svn: 144773
|
| |
|
|
| |
llvm-svn: 144758
|
| |
|
|
| |
llvm-svn: 144748
|
| |
|
|
| |
llvm-svn: 144721
|
| |
|
|
| |
llvm-svn: 144675
|
| |
|
|
| |
llvm-svn: 144648
|
| |
|
|
| |
llvm-svn: 144536
|
| |
|
|
|
|
|
|
| |
versions of explicit dependencies.
- The hope is that we have a tool/test to verify these are accurate (and tight) soon.
llvm-svn: 144444
|
| |
|
|
|
|
| |
Fixes PR11353.
llvm-svn: 144442
|
| |
|
|
| |
llvm-svn: 144416
|
| |
|
|
|
|
|
|
|
|
| |
Specifically, it doesn't handle many cases involving undef correctly, and it is missing other checks which
lead to it trying to re-mark a value marked as a constant with a different value. It also appears to trigger very rarely.
Fixes PR11357.
llvm-svn: 144352
|
| |
|
|
|
|
|
|
| |
Size of data being pointed to wasn't always being checked so some small writes were killing big writes
Fixes <rdar://problem/10426753>
llvm-svn: 144312
|
| |
|
|
|
|
|
|
|
|
|
| |
store is dead.
Currently checks alignment and killing stores on a power of 2 boundary as this is likely
to trim the size of the earlier store without breaking large vector stores into scalar ones.
Fixes <rdar://problem/10140300>
llvm-svn: 144239
|
| |
|
|
|
|
| |
yet so it will currently never get used in real tests
llvm-svn: 144107
|
| |
|
|
|
|
| |
Fixes r8429
llvm-svn: 144036
|
| |
|
|
|
|
| |
<rdar://problem/10405911>
llvm-svn: 144000
|
| |
|
|
| |
llvm-svn: 143808
|
| |
|
|
|
|
| |
the end of it is dead.", which appears to break bootstrapping LLVM.
llvm-svn: 143668
|
| |
|
|
| |
llvm-svn: 143634
|
| |
|
|
|
|
|
|
|
|
| |
Only currently done if the later store is writing to a power of 2 address or
has the same alignment as the earlier store as then its likely to not break up
large stores into smaller ones
Fixes <rdar://problem/10140300>
llvm-svn: 143630
|
| |
|
|
|
|
|
|
| |
We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
second rewrite of the code attempts to deal with these cases systematically.
llvm-svn: 143546
|
| |
|
|
|
|
| |
silence -Wparentheses.
llvm-svn: 143534
|
| |
|
|
|
|
| |
Narrowest possible fix for PR11279.
llvm-svn: 143522
|
| |
|
|
|
|
| |
with another instruction. (Specifically, don't insert an arbitrary instruction before a PHI.) Fixes PR11275.
llvm-svn: 143437
|
| |
|
|
|
|
| |
Patch by Kostya Serebryany.
llvm-svn: 143405
|
| |
|
|
|
|
|
|
| |
for printf->puts, which correctly sets the unnamed_addr bit on the resulting GlobalVariable.
Fixes PR11264.
llvm-svn: 143289
|
| |
|
|
|
|
| |
Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion
llvm-svn: 143183
|
| |
|
|
|
|
| |
don't do that. <rdar://problem/10352360>
llvm-svn: 143093
|
| |
|
|
|
|
|
|
|
|
| |
instructions.
This doesn't introduce any optimizations we weren't doing before (except
potentially due to pass ordering issues), now passes will eliminate them sooner
as part of their own cleanups.
llvm-svn: 142787
|
| |
|
|
|
|
|
| |
element types, even though the element extraction code does. It is surprising
that this bug has been here for so long. Fixes <rdar://problem/10318778>.
llvm-svn: 142740
|
| |
|
|
|
|
| |
elimination on them too.
llvm-svn: 142735
|
| |
|
|
| |
llvm-svn: 142684
|
| |
|
|
|
|
| |
expensive helper.
llvm-svn: 142672
|