| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Found by LSan.
llvm-svn: 208251
|
| |
|
|
|
|
| |
signals may be raised while thread is being destroyed
llvm-svn: 208250
|
| |
|
|
| |
llvm-svn: 208249
|
| |
|
|
| |
llvm-svn: 208248
|
| |
|
|
| |
llvm-svn: 208247
|
| |
|
|
|
|
| |
functionality change, just removal of duplicated code.
llvm-svn: 208246
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adding new calls to SBLaunchInfo.
The new calls are:
SBFileSpec
SBLaunchInfo::GetExecutableFile ();
void
SBLaunchInfo::SetExecutableFile (SBFileSpec exe_file, bool add_as_first_arg);
<rdar://problem/16833939>
llvm-svn: 208245
|
| |
|
|
|
|
|
|
|
|
|
|
| |
OnDiskHashTable::insert() calls the Item constructor via placement new, but
nothing called the destructor. This matters in cases when the Info template
parameter has key_type or data_type typedefs that have a destructor, for
example like IdentifierIndexWriterTrait in clang's GlobalModuleIndex.cpp.
This fixes a 5-year old bug that's been around since the OnDiskHashTable code
was added in r64192. Bug found by LSan!
llvm-svn: 208243
|
| |
|
|
| |
llvm-svn: 208242
|
| |
|
|
|
|
|
|
|
|
| |
$qC from debugserver now returns the current thread's thread-id (and, like $?, will set a current thread if one is not already selected). Previously it was returning the current process id.
lldb will now query $qProcessInfo to retrieve the process id. The process id is now cached lazily and reset like other cached values. Retrieval of the process id will fall back to the old $qC method for vendor==Apple and os==iOS if the qProcessInfo retrieval fails.
Added a gdb remote protocol-level test to verify that $qProcessInfo reports a valid process id after launching a process, while the process is in the initial stopped state. Verifies the given process id is a currently valid process on host OSes for which we know how to check (MacOSX, Linux, {Free/Net}BSD). Ignores the live process check for OSes where we don't know how to do this. (I saw no portable way to do this in stock Python without pulling in other libs).
llvm-svn: 208241
|
| |
|
|
| |
llvm-svn: 208240
|
| |
|
|
| |
llvm-svn: 208239
|
| |
|
|
|
|
| |
*Quotient and *Remainder don't have to be initialized.
llvm-svn: 208238
|
| |
|
|
| |
llvm-svn: 208237
|
| |
|
|
|
|
|
|
|
|
|
| |
When reducing the bitwidth of a comparison against a constant, the
original setcc's result type was used, which was incorrect.
No test since I don't think any other in tree targets change the
bitwidth of the setcc type depending on the bitwidth of the compared
type.
llvm-svn: 208236
|
| |
|
|
| |
llvm-svn: 208235
|
| |
|
|
|
|
|
|
|
|
|
| |
All the tests are under the clang tests and none should be under llvm moving
forward.
The topic was discussed in this thread:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140428/214905.html
llvm-svn: 208234
|
| |
|
|
| |
llvm-svn: 208233
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To compute the dimensions of the array in a unique way, we split the
delinearization analysis in three steps:
- find parametric terms in all memory access functions
- compute the array dimensions from the set of terms
- compute the delinearized access functions for each dimension
The first step is executed on all the memory access functions such that we
gather all the patterns in which an array is accessed. The second step reduces
all this information in a unique description of the sizes of the array. The
third step is delinearizing each memory access function following the common
description of the shape of the array computed in step 2.
This rewrite of the delinearization pass also solves a problem we had with the
previous implementation: because the previous algorithm was by induction on the
structure of the SCEV, it would not correctly recognize the shape of the array
when the memory access was not following the nesting of the loops: for example,
see polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
; void foo(long n, long m, long o, double A[n][m][o]) {
;
; for (long i = 0; i < n; i++)
; for (long j = 0; j < m; j++)
; for (long k = 0; k < o; k++)
; A[i][k][j] = 1.0;
Starting with this patch we no longer delinearize access functions that do not
contain parameters, for example in test/Analysis/DependenceAnalysis/GCD.ll
;; for (long int i = 0; i < 100; i++)
;; for (long int j = 0; j < 100; j++) {
;; A[2*i - 4*j] = i;
;; *B++ = A[6*i + 8*j];
these accesses will not be delinearized as the upper bound of the loops are
constants, and their access functions do not contain SCEVUnknown parameters.
llvm-svn: 208232
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly.
Previously we calculated the shift amount based upon DataLayout::getTypeAllocSizeInBits.
This will only work for legal types - types such as i24 that are created as part of
structs for bitfields will return "32" from that function. Change to using
getTypeSizeInBits.
It turns out that AArch64 didn't run across this problem because it always returned
[1 x i64] as the type for a bitfield, whereas ARM64 returns i64 so goes down this
(better, but wrong) codepath.
llvm-svn: 208231
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
default architecture for reasonable modern x86 processors, actually be
modern. This processor model should essentially be "tuned" for modern
x86 chips as much as possible without undue penalties on any specific
architecture. Previously we weren't even using the nice scheduling
models. There are a few other tweaks needed here, but this change at
least I have benchmarked across a decent swatch of chips (intel's
clovertown, westmere, and sandybridge; amd's istanbul) and seen no
significant regressions.
If anyone has suggested ways to test this, just let me know. Somewhat
alarmingly, no existing tests failed.
llvm-svn: 208230
|
| |
|
|
|
|
| |
changes.
llvm-svn: 208229
|
| |
|
|
| |
llvm-svn: 208228
|
| |
|
|
| |
llvm-svn: 208227
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
While constructing ObjC Interface types we might create the declaration
of some normal C++ types, thus adding things to the ReplaceMap. Make
sure we process the ReplaceMap after the ObjC interfaces.
In theory we know at this point, since we're at the end of the TU, that
we won't be upgrading any declarations to definitions, so we could just
construct non-temporary nodes, but that would require extra state in
CGDebugInfo to conditionalize the creation of declaration nodes which
seems annoying/more work than is appropriate.
llvm-svn: 208226
|
| |
|
|
| |
llvm-svn: 208225
|
| |
|
|
| |
llvm-svn: 208224
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this patch disables the dead register elimination pass and the load/store pair
optimization pass at -O0. The ILP optimizations don't require the optimization
level to be checked because the call to addILPOpts is predicated with the
necessary check. The AdvSIMDScalar pass is disabled by default at all
optimization levels. This patch leaves that pass disabled by default.
Also, move command-line options into ARM64TargetMachine.cpp and add a few
additional flags to aid in debugging. This fixes an issue with the
-debug-pass=Structure flag where passes were printed, but not actually run
(i.e., AdvSIMDScalar pass).
llvm-svn: 208223
|
| |
|
|
|
|
|
|
|
|
|
|
| |
r154191 switched to atexit() instead of global destructors, so the intent
was probably to check for _GLOBAL__D_a _not_ being in the output. There already
is a line for _ZN3barD1Ev further up, so just remove the CH_ECK line referring
to that.
The only circumstance in which clang emits _GLOBAL__D_a destructor symbols is
for -fapple-kext, and that is tested by test/CodeGenCXX/cxx-apple-kext.cpp.
llvm-svn: 208222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
These processors will only be available for the integrated assembler at
first (CodeGen will emit a fatal error saying they are not implemented).
The intention is to work through the existing instructions and correctly
annotate the ISA they were added in so that we have a sufficiently good
base to start MIPS64r6 development. MIPS64r6 removes/re-encodes certain
instructions and I believe it is best to define ISA's using set-union's
as far as possible rather than using set-subtraction.
Reviewers: vmedic
Subscribers: emaste, llvm-commits
Differential Revision: http://reviews.llvm.org/D3569
llvm-svn: 208221
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: The initial support for NaN2008 was added to the back-end in r206396.
Reviewers: atanasyan
Reviewed By: atanasyan
Differential Revision: http://reviews.llvm.org/D3448
llvm-svn: 208220
|
| |
|
|
|
|
|
|
| |
This is a followup to r208171, where a call to make_unique was
disambiguated for MSVC. Disambiguate two more calls, and remove the
comment about it since this is what we do everywhere.
llvm-svn: 208219
|
| |
|
|
| |
llvm-svn: 208218
|
| |
|
|
|
|
| |
didn't notice that the generated BE alignment register is now unnamed and is not called '%align_be'.
llvm-svn: 208217
|
| |
|
|
|
|
|
| |
Just because the first "if" didn't fire, doesn't mean we can not have
an HFA in the "else" clause.
llvm-svn: 208216
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D3650
llvm-svn: 208215
|
| |
|
|
|
|
| |
rdar://problem/11861387
llvm-svn: 208214
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FGRPredicates/GPRPredicates
Summary:
No functional change (confirmed by diffing tablegen-erated files).
Depends on D3642
Reviewers: vmedic, dsanders
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D3645
llvm-svn: 208213
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AdditionalPredicates overrides
Summary:
No functional change
Depends on D3641
Reviewers: vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3642
llvm-svn: 208212
|
| |
|
|
| |
llvm-svn: 208211
|
| |
|
|
|
|
|
|
|
| |
When performing a scalar comparison that feeds into a vector select,
it's actually better to do the comparison on the vector side: the
scalar route would be "CMP -> CSEL -> DUP", the vector is "CM -> DUP"
since the vector comparisons are all mask based.
llvm-svn: 208210
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AdditionalPredicates overrides
Summary:
One small functional change. The recently added PAUSE instruction now has
the HasStdEnc predicate which was accidentally removed by a Requires<>.
Depends on D3640
Reviewers: vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3641
llvm-svn: 208209
|
| |
|
|
| |
llvm-svn: 208208
|
| |
|
|
| |
llvm-svn: 208207
|
| |
|
|
| |
llvm-svn: 208206
|
| |
|
|
|
|
| |
We were already always passing true, this just removes the option.
llvm-svn: 208205
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FreeBSD package building cluster installs e.g. 'python2.7', but no
plain 'python' to avoid version-related issues.
CMake's FindPythonInterp locates an interpreter with such a name and
provides it in the PYTHON_EXECUTABLE variable. Use that if it's set,
falling back to the original '/usr/bin/env python' otherwise.
This is a missing part of LLDB commit r207122.
Patch by Brooks Davis in FreeBSD ports commit r353052
llvm-svn: 208204
|
| |
|
|
|
|
|
|
| |
This makes debuging DebugInfo generation with LLDB a little more pleasant.
Differential Revision: http://reviews.llvm.org/D3626
llvm-svn: 208203
|
| |
|
|
|
|
|
|
| |
This makes debuging DebugInfo generation with LLDB a little more pleasant.
Differential Revision: http://reviews.llvm.org/D3626
llvm-svn: 208202
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
re-join them with !listconcat
Summary:
Move IsGP64bit into GPRPredicates, and IsFP64bit/NotFP64bit into FGRPredicates
No functional change (confirmed by diffing tablegen-erated files).
Depends on D3639
Reviewers: vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3640
llvm-svn: 208201
|