| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Yea, 'NumCallerCallersAnalyzed' isn't a great name, suggestions welcome.
llvm-svn: 154492
|
|
|
|
|
|
|
|
| |
Fix a dagcombine optimization which assumes that the vsetcc result type is always
of the same size as the compared values. This is ture for SSE/AVX/NEON but not
for all targets.
llvm-svn: 154490
|
|
|
|
| |
llvm-svn: 154488
|
|
|
|
|
|
|
|
| |
regression"
This reverts commit 97bd8d50881000c11b65b0e033996ec5f57bcd15.
llvm-svn: 154487
|
|
|
|
|
|
| |
This reverts commit 2c6bdbf972ac966498489d30a33bfd252df9107d.
llvm-svn: 154486
|
|
|
|
| |
llvm-svn: 154485
|
|
|
|
| |
llvm-svn: 154484
|
|
|
|
|
|
|
|
|
| |
Original message:
Modify the code that lowers shuffles to blends from using blendvXX to vblendXX.
blendV uses a register for the selection while Vblend uses an immediate.
On sandybridge they still have the same latency and execute on the same execution ports.
llvm-svn: 154483
|
|
|
|
|
|
| |
dependent upon metadata ordering.
llvm-svn: 154482
|
|
|
|
|
|
|
|
| |
an explicit instance variable.
rdar://10590352
llvm-svn: 154481
|
|
|
|
|
|
|
|
|
|
|
| |
predicates.
Also remove NEON2 since it's not really useful and it is confusing. If
NEON + VFP4 implies NEON2 but NEON2 doesn't imply NEON + VFP4, what does it
really mean?
rdar://10139676
llvm-svn: 154480
|
|
|
|
| |
llvm-svn: 154479
|
|
|
|
|
|
| |
intrinsic to an nodetype.
llvm-svn: 154478
|
|
|
|
| |
llvm-svn: 154477
|
|
|
|
| |
llvm-svn: 154476
|
|
|
|
|
|
|
|
| |
that gcc
emits but not clang.
llvm-svn: 154475
|
|
|
|
|
|
|
| |
Handle mixing allocatable and unallocatable register gracefully.
Simplify the pruning of register unit sets.
llvm-svn: 154474
|
|
|
|
|
|
| |
compiled code size a bit.
llvm-svn: 154473
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make sure to
output the errors that occurred even if we did not get an AST (e.g. because the
PCH failed to load).
Also honor displayDiagnostics in clang_indexSourceFile().
rdar://11203489
llvm-svn: 154472
|
|
|
|
| |
llvm-svn: 154469
|
|
|
|
|
|
| |
ret instructions.
llvm-svn: 154468
|
|
|
|
| |
llvm-svn: 154466
|
|
|
|
|
|
| |
for all opcodes handed by DecodeVLDInstruction() in ARMDisassembler.cpp .
llvm-svn: 154459
|
|
|
|
|
|
|
|
| |
Cleaned up the Mutex::Locker and the ReadWriteLock classes a bit.
Also cleaned up the GDBRemoteCommunication class to not have so many packet functions. Used the "NoLock" versions of send/receive packet functions when possible for a bit of performance.
llvm-svn: 154458
|
|
|
|
|
|
| |
rdar://11222742
llvm-svn: 154457
|
|
|
|
|
|
|
|
|
|
| |
1. The new instruction itinerary entries are not properly described.
2. The asm parser can't handle vfms and vfnms.
3. There were no assembler, disassembler test cases.
4. HasNEON2 has the wrong assembler predicate.
rdar://10139676
llvm-svn: 154456
|
|
|
|
|
|
|
|
|
|
|
| |
Allow cheap instructions to be hoisted if they are register pressure
neutral or better. This happens if the instruction is the last loop use
of another virtual register.
Only expensive instructions are allowed to increase loop register
pressure.
llvm-svn: 154455
|
|
|
|
|
|
|
|
|
|
|
| |
Hoisting a value that is used by a PHI in the loop will introduce a
copy because the live range is extended to cross the PHI.
The same applies to PHIs in exit blocks.
Also use this opportunity to make HasLoopPHIUse() non-recursive.
llvm-svn: 154454
|
|
|
|
| |
llvm-svn: 154453
|
|
|
|
| |
llvm-svn: 154452
|
|
|
|
|
|
|
|
|
|
| |
(Applied changes to CStringAPI, Malloc, and Taint.)
This might almost never happen, but we should not crash even if it does.
This fixes a crash on the internal analyzer buildbot, where postgresql's
configure was redefining memmove (radar://11219852).
llvm-svn: 154451
|
|
|
|
| |
llvm-svn: 154450
|
|
|
|
|
|
|
| |
of an uninitialized Stmt* in serialization of __atomic_init and add a test of
atomics serialization.
llvm-svn: 154448
|
|
|
|
|
|
|
|
| |
one-operand version of getNode() to the two-operand version, since it became a two-operand node at sound point.
Zap a testcase that this allows us to completely fold away.
llvm-svn: 154447
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConstantFP::get(Type*, double) is unreliably host-specific:
it can't handle a type like PPC128 on an x86 host. It even
has a comment to that effect: "This should only be used for
simple constant values like 2.0/1.0 etc, that are
known-valid both as host double and as the target format."
Instead, use APFloat. While we're at it, randomize the floating
point value more thoroughly; it was previously limited
to the range 0 to 2**19 - 1.
PR12451.
llvm-svn: 154446
|
|
|
|
|
|
|
|
|
|
|
|
| |
LangRef.html says:
"There are no arrays, vectors or constants of this type."
This was hitting assertions when passing the -generate-x86-mmx
option.
PR12452.
llvm-svn: 154445
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- don't isntrument reads from constant globals.
Saves ~1.5% of instrumented instructions on CPU2006
(counting static instructions, not their execution).
- don't insrument reads from vtable (which is a global constant too).
Saves ~5%.
I did not measure the run-time impact of this,
but it is certainly non-negative.
llvm-svn: 154444
|
|
|
|
|
|
| |
introduced by the test harness' expansion of %t.
llvm-svn: 154443
|
|
|
|
|
|
| |
subscripting. // rdar://11203853
llvm-svn: 154441
|
|
|
|
|
|
| |
cover all possible condition codes.
llvm-svn: 154440
|
|
|
|
| |
llvm-svn: 154439
|
|
|
|
|
|
|
| |
Generate a sink when the dynamic_cast from a reference fails to
represent a thrown exception.
llvm-svn: 154438
|
|
|
|
|
|
|
|
| |
objc methods
for methods in categories of super classes. rdar://11220358
llvm-svn: 154436
|
|
|
|
|
|
| |
results that are found by the function calls to find_pointer_in_heap().
llvm-svn: 154435
|
|
|
|
|
|
| |
Simulate the C++ dynamic_cast in the analyzer.
llvm-svn: 154434
|
|
|
|
| |
llvm-svn: 154433
|
|
|
|
|
|
|
|
| |
incomplete type, keep track of the actual type that was
incomplete. Otherwise, we might fail to produce a diagnostic. Fixes
PR12498.
llvm-svn: 154432
|
|
|
|
|
|
| |
multiplication by a denormal, and some tests checking that.
llvm-svn: 154431
|
|
|
|
|
|
| |
information and more closely match GCC's, from Nikola Smiljanic!
llvm-svn: 154430
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
StringMap. This was redundant and unnecessarily bloated the MDString class.
Because the MDString class is a "Value" and will never have a "name", and
because the Name field in the Value class is a pointer to a StringMap entry, we
repurpose the Name field for an MDString. It stores the StringMap entry in the
Name field, and uses the normal methods to get the string (name) back.
PR12474
llvm-svn: 154429
|