- Mar 10, 2011
-
-
Dan Gohman authored
after it has finished all of its reassociations, because its habit of unlinking operands and holding them in a datastructure while working means that it's not easy to determine when an instruction is really dead until after all its regular work is done. rdar://9096268. llvm-svn: 127424
-
Jim Grosbach authored
llvm-svn: 127423
-
Jim Grosbach authored
llvm-svn: 127422
-
Jim Grosbach authored
llvm-svn: 127420
-
Benjamin Kramer authored
This happens a lot in clang-compiled C++ code because it adds overflow checks to operator new[]: unsigned *foo(unsigned n) { return new unsigned[n]; } We can optimize away the overflow check on 64 bit targets because (uint64_t)n*4 cannot overflow. llvm-svn: 127418
-
Rafael Espindola authored
llvm-svn: 127417
-
Rafael Espindola authored
llvm-svn: 127416
-
Jakob Stoklund Olesen authored
llvm-svn: 127413
-
Justin Holewinski authored
llvm-svn: 127410
-
Rafael Espindola authored
support for creating buffers that cover only a part of a file. llvm-svn: 127409
-
Cameron Zwarich authored
llvm-svn: 127398
-
Che-Liang Chiou authored
llvm-svn: 127397
-
Jakob Stoklund Olesen authored
This makes it possible to register delegates and get callbacks when the spiller edits live ranges. llvm-svn: 127389
-
Jakob Stoklund Olesen authored
llvm-svn: 127388
-
Francois Pichet authored
llvm-svn: 127383
-
Stuart Hastings authored
llvm-svn: 127382
-
Devang Patel authored
Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information. It generates output that lools like 8 times line number info lost by Scalar Replacement of Aggregates (SSAUp) 1 times line number info lost by Simplify well-known library calls 12 times variable info lost by Jump Threading llvm-svn: 127381
-
Evan Cheng authored
llvm-svn: 127380
-
Evan Cheng authored
llvm-svn: 127376
-
- Mar 09, 2011
-
-
Evan Cheng authored
flexible. If it returns a register class that's different from the input, then that's the register class used for cross-register class copies. If it returns a register class that's the same as the input, then no cross- register class copies are needed (normal copies would do). If it returns null, then it's not at all possible to copy registers of the specified register class. llvm-svn: 127368
-
Benjamin Kramer authored
llvm-svn: 127365
-
Devang Patel authored
llvm-svn: 127362
-
-
Johnny Chen authored
The insufficient encoding information of the combined instruction confuses the decoder wrt UQADD16. Add extra logic to recover from that. Fixed an assert reported by Sean Callanan llvm-svn: 127354
-
Eric Christopher authored
command line, they'll still be seen with -help-hidden. llvm-svn: 127353
-
Devang Patel authored
llvm-svn: 127352
-
Jakob Stoklund Olesen authored
The damage done by physreg coalescing only depends on the number of instructions the extended physreg live range covers. This fixes PR9438. The heuristic is still luck-based, and physreg coalescing really should be disabled completely. We need a register allocator with better hinting support before that is possible. Convert a test to FileCheck and force spilling by inserting an extra call. The previous spilling behavior was dependent on misguided physreg coalescing decisions. llvm-svn: 127351
-
Bruno Cardoso Lopes authored
llvm-svn: 127349
-
Andrew Trick authored
This helps cases like 2008-07-19-movups-spills.ll, but doesn't have an obvious impact on benchmarks llvm-svn: 127347
-
Jan Sjödin authored
Add createELFObjectTargetWriter method to TargetAsmBackend, which enables construction of non-standard ELFObjectWriters that can be used in MCJIT. llvm-svn: 127346
-
Jan Sjödin authored
llvm-svn: 127343
-
Andrew Trick authored
When ExactBECount is a constant, use it for MaxBECount. When MaxBECount cannot be computed, replace it with ExactBECount. Fixes PR9424. llvm-svn: 127342
-
Andrew Trick authored
llvm-svn: 127340
-
Benjamin Kramer authored
llvm-svn: 127335
-
Benjamin Kramer authored
llvm-svn: 127331
-
NAKAMURA Takumi authored
llvm-svn: 127328
-
Nick Lewycky authored
Thanks Duncan Sands! llvm-svn: 127323
-
Cameron Zwarich authored
alloca as both integer and floating-point vectors of the same size. Bugpoint is not cooperating with me, but I'll try to find a manual testcase tomorrow. llvm-svn: 127320
-
Nick Lewycky authored
gave up when I realized I couldn't come up with a good name for what the refactored function would be, to describe what it does. This is PR9343 test12, which is test3 with arguments reordered. Whoops! llvm-svn: 127318
-
Cameron Zwarich authored
a union of a float, <2 x float>, and <4 x float>. This mostly comes up with the use of vector intrinsics, especially in NEON when programmers know the layout of the register file. This enables codegen to eliminate a lot of the subregister traffic it would otherwise generate. This commit only enables this for a small number of floating-point cases, but a lot more integer cases. I assume this is okay for all ports, but I did not do extensive testing of the quality of code involving i512 vectors and the like. If there is a use case where this generates worse code than before, let me know and we can scale it back. This fixes <rdar://problem/9036264>. llvm-svn: 127317
-