summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* NSOrCFErrorDerefChecker: Don't leak bug type. Similar to r208110/r208155. ↵Nico Weber2014-05-071-4/+12
| | | | | | Found by LSan. llvm-svn: 208251
* [MSan] Fixup for r206983: MsanThread may be unavailable in signal handler: ↵Alexey Samsonov2014-05-072-3/+10
| | | | | | signals may be raised while thread is being destroyed llvm-svn: 208250
* c-index-test: Don't leak the strings returned by makeClientContainer().Nico Weber2014-05-071-6/+37
| | | | llvm-svn: 208249
* Reformat a couple of functions for clarity.Eric Christopher2014-05-071-22/+19
| | | | llvm-svn: 208248
* Make 2 functions static, remove unneeded cast, rewrap. No behavior change.Nico Weber2014-05-071-10/+13
| | | | llvm-svn: 208247
* Make libc++abi use the implementation of __numstr from libc++. No ↵Marshall Clow2014-05-071-127/+6
| | | | | | functionality change, just removal of duplicated code. llvm-svn: 208246
* Allow clients to control the exact path that is used to launch processes by ↵Greg Clayton2014-05-073-15/+65
| | | | | | | | | | | | | | | | 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
* Let OnDiskHashTable call the destructor of its Items.Nico Weber2014-05-071-7/+6
| | | | | | | | | | | | 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
* Replace a virtual with an override.Rafael Espindola2014-05-071-2/+2
| | | | llvm-svn: 208242
* Modify debugserver to follow gdb remote $qC protocol definition.Todd Fiala2014-05-075-17/+151
| | | | | | | | | | $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
* [asan] fix i386 tests broken from r207707Greg Fitzgerald2014-05-074-5/+6
| | | | llvm-svn: 208240
* [Hexagon] Add New TSFlags to be used in the upcoming patches.Jyotsna Verma2014-05-074-67/+102
| | | | llvm-svn: 208239
* avoid segfaultingSebastian Pop2014-05-071-2/+1
| | | | | | *Quotient and *Remainder don't have to be initialized. llvm-svn: 208238
* do not collect undef termsSebastian Pop2014-05-071-1/+36
| | | | llvm-svn: 208237
* Fix using wrong result type for setcc.Matt Arsenault2014-05-073-4/+21
| | | | | | | | | | | 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
* Debug.h already includes raw_ostream.h, no need to include it again.Eric Christopher2014-05-071-1/+0
| | | | llvm-svn: 208235
* [Test] Remove c-index-test from the list of substitutionsAdam Nemet2014-05-071-1/+0
| | | | | | | | | | | 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
* unxfail passing testcaseSebastian Pop2014-05-071-2/+0
| | | | llvm-svn: 208233
* split delinearization pass in 3 stepsSebastian Pop2014-05-0716-507/+588
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When doing int<->ptr coercion for big-endian, calculate the shift amount ↵James Molloy2014-05-072-2/+12
| | | | | | | | | | | | | | | 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
* [x86] Make the 'x86-64' cpu, what I see as and many use as the genericChandler Carruth2014-05-071-2/+15
| | | | | | | | | | | | | | | | 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
* Tidy up whitespace with clang-format prior to making significantChandler Carruth2014-05-071-45/+41
| | | | | | changes. llvm-svn: 208229
* [yaml2obj] Support ELF x86 relocations.Simon Atanasyan2014-05-072-0/+86
| | | | llvm-svn: 208228
* Style update: don't duplicate the function name.Rafael Espindola2014-05-072-45/+43
| | | | llvm-svn: 208227
* PR19562: Fix another temporary node leak in Clang debug info emissionDavid Blaikie2014-05-071-10/+10
| | | | | | | | | | | | | | 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
* [CMake] Add build rules for llvm-PerfectShuffle utilityAlexey Samsonov2014-05-072-0/+4
| | | | llvm-svn: 208225
* Style update: don't duplicate the function name.Rafael Espindola2014-05-071-70/+64
| | | | llvm-svn: 208224
* [ARM64][fast-isel] Disable target specific optimizations at -O0. Functionally,Chad Rosier2014-05-075-34/+35
| | | | | | | | | | | | | | | 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
* Remove "CH_ECK" line (which is ignored) from test after r154191.Nico Weber2014-05-071-3/+1
| | | | | | | | | | | | 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
* [mips] Add highly experimental support for MIPS-I, MIPS-II, MIPS-III, and MIPS-VDaniel Sanders2014-05-0711-21/+46
| | | | | | | | | | | | | | | | | | | | 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
* [mips] Pass nan2008 info to the back-end.Matheus Almeida2014-05-073-4/+19
| | | | | | | | | | | | 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
* llvm-cov: Explicitly namespace llvm::make_unique to keep MSVC happyJustin Bogner2014-05-071-4/+2
| | | | | | | | 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
* Use range loop.Rafael Espindola2014-05-071-3/+2
| | | | llvm-svn: 208218
* Re-satisfy the bots. Due to a de-sync between my clang and LLVM trees, I ↵James Molloy2014-05-071-1/+1
| | | | | | didn't notice that the generated BE alignment register is now unnamed and is not called '%align_be'. llvm-svn: 208217
* [ARM64-BE] Correctly deal with single element HFAs in varargs.James Molloy2014-05-072-2/+17
| | | | | | | Just because the first "if" didn't fire, doesn't mean we can not have an HFA in the "else" clause. llvm-svn: 208216
* Ignore stack-buffer-overflow in std::_Find_elem<*> / std::num_get<...>::_GetifldTimur Iskhodzhanov2014-05-071-0/+3
| | | | | | Reviewed at http://reviews.llvm.org/D3650 llvm-svn: 208215
* [InstCombine] Add optimization of redundant insertvalue instructions.Michael Zolotukhin2014-05-073-0/+62
| | | | | | rdar://problem/11861387 llvm-svn: 208214
* [mips] Add FGR_32/FGR_64/GPR_64 adjectives and use then instead of ↵Daniel Sanders2014-05-073-161/+156
| | | | | | | | | | | | | | | | | 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
* [mips] Add INSN_<name> adverbs and start using them instead of ↵Daniel Sanders2014-05-071-6/+8
| | | | | | | | | | | | | | | | | AdditionalPredicates overrides Summary: No functional change Depends on D3641 Reviewers: vmedic Reviewed By: vmedic Differential Revision: http://reviews.llvm.org/D3642 llvm-svn: 208212
* [msan] Fix -fsanitize=memory -fno-integrated-as.Evgeniy Stepanov2014-05-072-1/+22
| | | | llvm-svn: 208211
* AArch64/ARM64: optimise vector selects & enable testTim Northover2014-05-073-1/+248
| | | | | | | | | 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
* [mips] Add ISA_<name> adverbs and start using them instead of ↵Daniel Sanders2014-05-074-42/+46
| | | | | | | | | | | | | | | | | | 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
* Remove superflous semicolonTobias Grosser2014-05-071-19/+17
| | | | llvm-svn: 208208
* [sanitizer] Replace a macro with a function.Evgeniy Stepanov2014-05-074-138/+138
| | | | llvm-svn: 208207
* Update for llvm api change.Rafael Espindola2014-05-071-1/+0
| | | | llvm-svn: 208206
* Remove the UseCFI option from createAsmStreamer.Rafael Espindola2014-05-0711-46/+30
| | | | | | We were already always passing true, this just removes the option. llvm-svn: 208205
* If CMake finds a python interpreter, use itEd Maste2014-05-071-4/+6
| | | | | | | | | | | | | | 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
* DebugInfo: Use enum instead of unsignedEd Maste2014-05-072-11/+13
| | | | | | | | This makes debuging DebugInfo generation with LLDB a little more pleasant. Differential Revision: http://reviews.llvm.org/D3626 llvm-svn: 208203
* DebugInfo: Use enum instead of unsignedEd Maste2014-05-071-1/+3
| | | | | | | | This makes debuging DebugInfo generation with LLDB a little more pleasant. Differential Revision: http://reviews.llvm.org/D3626 llvm-svn: 208202
* [mips] Continue splitting Instruction.Predicates into smaller lists and ↵Daniel Sanders2014-05-073-29/+39
| | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud