summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [WinEH] Fix endpad coloring/numberingJoseph Tremoulet2015-10-162-3/+72
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: When a cleanup's cleanupendpad or cleanupret targets a catchendpad, stop trying to propagate the cleanup's parent's color to the catchendpad, since what's needed is the cleanup's grandparent's color and the catchendpad will get that color from the catchpad linkage already. We already had this exclusion for invokes, but were missing it for cleanupendpad/cleanupret. Also add a missing line that tags cleanupendpads' states in the EHPadStateMap, without with lowering invokes that target cleanupendpads which unwind to other handlers (and so don't have the -1 state) will fail. This fixes the reduced IR repro in PR25163. Reviewers: majnemer, andrew.w.kaylor, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13797 llvm-svn: 250534
* Make some more of the LLDB/SWIG/Python glue Python 3 aware.Zachary Turner2015-10-1613-54/+57
| | | | | | | Mostly this is just converting some print statements to print functions. llvm-svn: 250533
* Make swig generation python scripts python 3 compatible.Zachary Turner2015-10-162-29/+29
| | | | llvm-svn: 250532
* Fix linkage of `init_lldb` SWIG method in Python 3.Zachary Turner2015-10-162-2/+16
| | | | llvm-svn: 250531
* Convert SWIG typemap string operations to PythonObjects.Zachary Turner2015-10-164-37/+100
| | | | llvm-svn: 250530
* Fix typo, NFC.Yaron Keren2015-10-161-1/+1
| | | | llvm-svn: 250529
* move test case to x86 directory because it specifies an x86 targetSanjay Patel2015-10-161-0/+0
| | | | llvm-svn: 250528
* This is a follow-up to the discussion in D12882.Sanjay Patel2015-10-162-16/+214
| | | | | | | | | | | | | | Ideally, we would like SimplifyCFG to be able to form select instructions even when the operands are expensive (as defined by the TTI cost model) because that may expose further optimizations. However, we would then like a later pass like CodeGenPrepare to undo that transformation if the target would likely benefit from not speculatively executing an expensive op (this patch). Once we have this safety mechanism in place, we can adjust SimplifyCFG to restore its select-formation behavior that changed with r248439. Differential Revision: http://reviews.llvm.org/D13297 llvm-svn: 250527
* [OMPT] Add OMPT events for API lockingJonathan Peyton2015-10-164-73/+142
| | | | | | | | | | | | | | | | | | | | | This fix implements the following OMPT events for the API locking routines: * ompt_event_acquired_lock * ompt_event_acquired_nest_lock_first * ompt_event_acquired_nest_lock_next * ompt_event_init_lock * ompt_event_init_nest_lock * ompt_event_destroy_lock * ompt_event_destroy_nest_lock For the acquired events the depths of the locks ist required, so a return value was added similiar to the return values we already have for the release lock routines. Patch by Tim Cramer Differential Revision: http://reviews.llvm.org/D13689 llvm-svn: 250526
* Update SWIG typemaps to use `PythonFile`.Zachary Turner2015-10-163-13/+44
| | | | | | | | Using the Python native C API is non-portable across Python versions, so this patch changes them to use the `PythonFile` class which hides the version specific differences behind a single interface. llvm-svn: 250525
* WebAssembly: relooper analysis passJF Bastien2015-10-163-56/+109
| | | | | | | | | | | | Summary: Make the relooper an analysis pass, to convert CFG to AST. Reviewers: sunfish Subscribers: jfb, dschuff Differential Revision: http://reviews.llvm.org/D12744 llvm-svn: 250524
* Replacements in different files do not overlap.Angel Garcia Gomez2015-10-163-16/+41
| | | | | | | | | | | | Summary: Prevent clang-tidy from discarding fixes that are in different files but happen to have the same file offset. Reviewers: klimek, bkramer Subscribers: bkramer, alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D13810 llvm-svn: 250523
* [AArch64] Implement vector splitting on UADDV.Charlie Turner2015-10-163-0/+269
| | | | | | | | | | | | Summary: Fixes PR25056. Reviewers: mcrosier, junbuml, jmolloy Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D13466 llvm-svn: 250520
* Add a ObjectFile<ELFT>::getSection helper and simplify. NFC.Rafael Espindola2015-10-163-34/+23
| | | | llvm-svn: 250519
* Add testcase for r250517Michael Kruse2015-10-161-0/+44
| | | | llvm-svn: 250518
* Avoid unnecessay .s2a write access when used only in PHIsMichael Kruse2015-10-164-23/+3
| | | | | | | PHI accesses will be handled separately by buildPHIAccesses, buildScalarDependences does not need to create additional accesses. llvm-svn: 250517
* [PS4] Add missing tests for -fsanitize=...Filipe Cabecinhas2015-10-162-0/+34
| | | | llvm-svn: 250516
* PS4: Add tests for rtti/vptr-sanitizer interactionFilipe Cabecinhas2015-10-161-0/+5
| | | | llvm-svn: 250515
* PS4: Make sure to add the sanitizer runtime before any linker inputFilipe Cabecinhas2015-10-161-2/+4
| | | | llvm-svn: 250514
* Sample Profiling - Remove useless asserts. NFC.Diego Novillo2015-10-161-2/+0
| | | | llvm-svn: 250513
* Commited two test files which are forgotten during commit of patch for ↵Zlatko Buljan2015-10-162-0/+13
| | | | | | http://reviews.llvm.org/D13376 llvm-svn: 250512
* [mips][microMIPS] Implement LB, LBE, LBU and LBUE instructionsHrvoje Varga2015-10-168-1/+148
| | | | | | Differential Revision: http://reviews.llvm.org/D11633 llvm-svn: 250511
* Empty undefined static variable -> local variable.Benjamin Kramer2015-10-161-1/+1
| | | | | | Resolves a -Wundefined-internal warning from clang. llvm-svn: 250510
* Fix overlapping replacements in clang-tidy.Angel Garcia Gomez2015-10-163-71/+221
| | | | | | | | | | | | Summary: Prevent clang-tidy from applying fixes to errors that overlap with other errors' fixes, with one exception: if one fix is completely contained inside another one, then we can apply the big one. Reviewers: bkramer, klimek Subscribers: djasper, cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13516 llvm-svn: 250509
* Fix an unfortunate yet old typo that never got attention before r250507.Benjamin Kramer2015-10-161-1/+1
| | | | | | Should fix the xcode libc++ build. llvm-svn: 250508
* Remove a long-standing __has_include hack.Benjamin Kramer2015-10-164-25/+8
| | | | | | | | | This was put in to get libc++ building without libcxxabi. We now have macros that show that we are building against libcxxabi so use that instead. This guards against existing but broken cxxabi.h headers on the system. llvm-svn: 250507
* Fix path::home_directory() unit test.Pawel Bylica2015-10-161-8/+12
| | | | | | It turns out that constructing std::string from null pointer is not the very best idea. llvm-svn: 250506
* SupportTests::HomeDirectory: Don't try tests when $HOME is undefined.NAKAMURA Takumi2015-10-161-6/+9
| | | | | | Lit sanitizes env vars. $HOME is not exported in Lit tests. llvm-svn: 250505
* Reformat.NAKAMURA Takumi2015-10-161-1/+1
| | | | llvm-svn: 250504
* [CMake] Reformat CLANG_TEST_DEPS.NAKAMURA Takumi2015-10-161-1/+7
| | | | llvm-svn: 250503
* Fix temporary directory computation on linux (pr25147)Pavel Labath2015-10-162-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | Summary: On linux, the environment variables for temp directories that lldb checks for are generally not defined, and the temp directory computation failed. This caused expression evaluation to fall back to creating "/tmp/lldb-*.expr" debugging files instead of the usual "$TMP/lldb/pid/lldb-*.expr". Crucially, these files were not cleaned up on lldb exit, which caused clutter in the /tmp folder, especially on long-running machines (e.g. builtbots). This commit fixes lldb to use llvm::sys::path::system_temp_directory, which does the same environment variable dance, but (!) also falls back to the P_tmpdir macro, which is how the temp directory is defined on linux. Since the linux temp path computation now succeeds, I needed to also modify Android path computation to check for actual directory existence, rather then checking whether the operation failed. Reviewers: clayborg, tberghammer Subscribers: tberghammer, lldb-commits, danalbert, srhines, emaste Differential Revision: http://reviews.llvm.org/D13772 llvm-svn: 250502
* Use Windows Vista API to get the user's home directoryPawel Bylica2015-10-162-16/+24
| | | | | | | | | | | | Summary: This patch replaces usage of deprecated SHGetFolderPathW with SHGetKnownFolderPath. The usage of SHGetKnownFolderPath is wrapped to allow queries for other "known" folders in the near future. Reviewers: aaron.ballman, gbedwell Subscribers: chapuni, llvm-commits Differential Revision: http://reviews.llvm.org/D13753 llvm-svn: 250501
* Test commitSean Eveson2015-10-161-1/+1
| | | | llvm-svn: 250500
* Resubmit: RenderScript command for printing allocation contents Ewan Crawford2015-10-166-0/+473
| | | | | | | | | Previous commit r250281 broke TestDataFormatterSmartArray.py Resolved in in this patch by adding the new enum eFormatVectorOfFloat16 to FormatManager. Differential Revision: http://reviews.llvm.org/D13730 llvm-svn: 250499
* [X86] Add fxsr feature name for fxsave/fxrestore builtins.Craig Topper2015-10-166-13/+33
| | | | llvm-svn: 250498
* [X86] Add fxsr feature flag for fxsave/fxrestore instructions.Craig Topper2015-10-167-44/+76
| | | | llvm-svn: 250497
* [X86] Add sse4.2 feature name to CRC32 builtins.Craig Topper2015-10-161-4/+4
| | | | llvm-svn: 250496
* [X86] Add proper feature name to some avx512dq builtins.Craig Topper2015-10-161-16/+16
| | | | llvm-svn: 250495
* Fix build with python disabled after r249597Keno Fischer2015-10-168-28/+0
| | | | | | | | | | | | | | | Summary: r249597 introduced a usage of GetTypeSummary in lldb-mi. That function used to only be available when python is enabled. However, there is no reason for that anymore since that is now dealt with at a different abstraction layer. Reviewers: ki.stfu, evgeny777, clayborg, granata.enrico Subscribers: elehcim, brucem, lldb-commits Differential Revision: http://reviews.llvm.org/D13577 llvm-svn: 250494
* Add a missing Mutex Locker in ResetCurrentInlinedDepthKeno Fischer2015-10-161-0/+2
| | | | | | | | | | | | | | Summary: This function reads m_frames, so it needs to lock the mutex like all other function that access m_frames. Found using AddressSanitizer. Reviewers: jingham, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13638 llvm-svn: 250493
* Initial migration of AVR backendDylan McKay2015-10-163-0/+28
| | | | | | | | This patch adds the underlying infrastructure for an AVR backend to be included into LLVM. It is the first of a series of patches aimed at moving the out-of-tree AVR backend into the tree. It consists of adding a new`Triple` target 'avr'. llvm-svn: 250492
* [RS4GC] Dont' propagate call attrs related to patchable statepointsSanjoy Das2015-10-162-0/+51
| | | | | | | | The `"statepoint-id"` and `"statepoint-num-patch-bytes"` attributes are used solely to determine properties of the `gc.statepoint` being created. Once the `gc.statepoint` is in place, these should be removed. llvm-svn: 250491
* [RS4GC] Bring legalizeCallAttributes up to LLVM coding style; NFCSanjoy Das2015-10-161-13/+11
| | | | llvm-svn: 250490
* [RS4GC] Use "deopt" operand bundlesSanjoy Das2015-10-1626-36/+2047
| | | | | | | | | | | | | | | | | | | | | | Summary: This is a step towards using operand bundles to carry deopt state till RewriteStatepointsForGC. The change adds a flag to RewriteStatepointsForGC that teaches it to pick up deopt state from a `"deopt"` operand bundle attached to the `call` or `invoke` it is wrapping. The command line flag added, `-rs4gc-use-deopt-bundles`, will only exist for a short while. Once we are able to pipe deopt bundle state through the full optimization pipeline without problems, we will "constant fold" `-rs4gc-use-deopt-bundles` to `true`. Reviewers: swaroop.sridhar, reames Subscribers: llvm-commits, sanjoy Differential Revision: http://reviews.llvm.org/D13372 llvm-svn: 250489
* Make __builtin_object_size more conservativeGeorge Burgess IV2015-10-163-34/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | r246877 made __builtin_object_size substantially more aggressive with unknown bases if Type=1 or Type=3, which causes issues when we encounter code like this: struct Foo { int a; char str[1]; }; const char str[] = "Hello, World!"; struct Foo *f = (struct Foo *)malloc(sizeof(*f) + strlen(str)); strcpy(&f->str, str); __builtin_object_size(&f->str, 1) would hand back 1, which is technically correct given the type of Foo, but the type of Foo lies to us about how many bytes are available in this case. This patch adds support for this "writing off the end" idiom -- we now answer conservatively when we're given the address of the very last member in a struct. Differential Revision: http://reviews.llvm.org/D12169 llvm-svn: 250488
* I've been seeing a problem with xcodebuilds on macosx forJason Molenda2015-10-161-8/+8
| | | | | | | | | | | | | | | | | a few days now where compiler-rt gets an error when trying to run its install step (related to not being able to find an ios version of a dylib), breaking the lldb build. I don't know if I'm the only one seeing this or if everyone has been doing the same hack I've been doing - removing the compiler-rt project from the default checkout. It's only used for the ASAN test case. So I'm temporarily checking in my hackaround of not checking out compiler-rt by default, I'll try to get back and look at what's actually happening in the compiler-rt install step that is causing the problems when built as a part of lldb. llvm-svn: 250487
* [Sema] Fix address-of + enable_if overloading logicGeorge Burgess IV2015-10-165-68/+146
| | | | | | | | | | | | | | | | | Previously, our logic when taking the address of an overloaded function would not consider enable_if attributes, so long as all of the enable_if conditions on a given candidate were true. So, two functions with identical signatures (one with enable_if attributes, the other without), would be considered equally good overloads. If we were calling the function instead of taking its address, then the function with enable_if attributes would be preferred. This patch makes us prefer the candidate with enable_if regardless of if we're calling or taking the address of an overloaded function. Differential Revision: http://reviews.llvm.org/D13795 llvm-svn: 250486
* [LLDB] Fix Clang-tidy misc-use-override warnings in remaining files in ↵Eugene Zelenko2015-10-169-261/+259
| | | | | | | | include; other minor fixes. Differential Revision: http://reviews.llvm.org/D13681 llvm-svn: 250485
* [IndVars] Rename getExtend; NFCSanjoy Das2015-10-161-17/+17
| | | | | | | Rename `IndVarSimplify::getExtend` to `IndVarSimplify::createExtendInst` to make it obvious that it creates `llvm::Instruction` s. llvm-svn: 250484
* [IndVars] Have `cloneArithmeticIVUser` guess betterSanjoy Das2015-10-162-14/+102
| | | | | | | | | | | | | | | | | | | | | Summary: `cloneArithmeticIVUser` currently trips over expression like `add %iv, -1` when `%iv` is being zero extended -- it tries to construct the widened use as `add %iv.zext, zext(-1)` and (correctly) fails to prove equivalence to `zext(add %iv, -1)` (here the SCEV for `%iv` is `{1,+,1}`). This change teaches `IndVars` to try sign extending the non-IV operand if that makes the newly constructed IV use equivalent to the widened narrow IV use. Reviewers: atrick, hfinkel, reames Subscribers: sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D13717 llvm-svn: 250483
OpenPOWER on IntegriCloud