summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Docs: Add missing new line before a list.Michael Zolotukhin2015-09-101-0/+1
| | | | llvm-svn: 247360
* [modules] Add another .def file to our list of textual headers.Richard Smith2015-09-101-0/+1
| | | | llvm-svn: 247359
* ScanDirForExecutable on Windows fails to find executables with the "exe" ↵Reid Kleckner2015-09-103-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | extension in name When the driver tries to locate a program by its name, e.g. a linker, it scans the paths provided by the toolchain using the ScanDirForExecutable function. If the lookup fails, the driver uses llvm::sys::findProgramByName. Unlike llvm::sys::findProgramByName, ScanDirForExecutable is not aware of file extensions. If the program has the "exe" extension in its name, which is very common on Windows, ScanDirForExecutable won't find it under the toolchain-provided paths. This patch changes the Windows version of the "`can_execute`" function called by ScanDirForExecutable to respect file extensions, similarly to llvm::sys::findProgramByName. Patch by Oleg Ranevskyy Reviewers: rnk Differential Revision: http://reviews.llvm.org/D12711 llvm-svn: 247358
* Pass BranchProbability/BlockMass by value instead of const& as they are ↵Cong Hou2015-09-1017-65/+64
| | | | | | small. NFC. llvm-svn: 247357
* [InstCombineCalls] Use isKnownNonNullAt() to check nullness of passing ↵Chen Li2015-09-102-1/+18
| | | | | | | | | | | | | | arguments at callsite Summary: This patch replaces isKnownNonNull() with isKnownNonNullAt() when checking nullness of passing arguments at callsite. In this way it can handle cases where the argument does not have nonnull attribute but has a dominating null check from the CFG. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12779 llvm-svn: 247356
* Make a few details of the string and symbol table private.Rafael Espindola2015-09-101-13/+16
| | | | | | This is in preparation to adding a dynamic string table. llvm-svn: 247355
* Mark another method const. Sorry for missing this one the first time.Rafael Espindola2015-09-101-1/+1
| | | | llvm-svn: 247354
* [InstCombineCalls] Use isKnownNonNullAt() to check nullness of gc.relocate ↵Chen Li2015-09-102-1/+32
| | | | | | | | | | | | | | return value Summary: This patch replaces isKnownNonNull() with isKnownNonNullAt() when checking nullness of gc.relocate return value. In this way it can handle cases where the relocated value does not have nonnull attribute but has a dominating null check from the CFG. Reviewers: reames Subscribers: llvm-commits, sanjoy Differential Revision: http://reviews.llvm.org/D12772 llvm-svn: 247353
* Remove gcc warning when comparing an unsigned var for >= 0Filipe Cabecinhas2015-09-101-1/+1
| | | | llvm-svn: 247352
* Handle '-r' option properlyReid Kleckner2015-09-102-5/+5
| | | | | | | | | | | | | | Summary: This fixs the bug https://llvm.org/bugs/show_bug.cgi?id=12587 Patch by Yunlian Jiang Reviewers: Bigcheese, rnk Differential Revision: http://reviews.llvm.org/D10279 llvm-svn: 247351
* Support noreturn in limited contexts on Objective-C message sends.John McCall2015-09-102-11/+159
| | | | | | rdar://6198039 llvm-svn: 247350
* [SEH] Use cleanupendpad so that WinEHPrepare gets the coloring rightReid Kleckner2015-09-105-32/+60
| | | | | | | Cleanupendpad is a lot like catchendpad, so we can reuse the same EHScopeStack type. llvm-svn: 247349
* [WinEH] Push and pop EBP for 32-bit funcletsReid Kleckner2015-09-104-8/+24
| | | | | | | | The Win32 EH runtime caller does not preserve EBP, even though it does preserve the CSRs (EBX, ESI, EDI) for us. The result was that each finally funclet call would leave the frame pointer off by 12 bytes. llvm-svn: 247348
* Unbreak building on FreeBSD.Roman Divacky2015-09-101-1/+3
| | | | llvm-svn: 247347
* [MS ABI] Make member pointers return true for isIncompleteTypeDavid Majnemer2015-09-109-43/+40
| | | | | | | The type of a member pointer is incomplete if it has no inheritance model. This lets us reuse more general logic already embedded in clang. llvm-svn: 247346
* AMDGPU: Simplify debug printingMatt Arsenault2015-09-103-13/+8
| | | | llvm-svn: 247345
* AMDGPU: Use StringRef valueMatt Arsenault2015-09-101-1/+1
| | | | llvm-svn: 247344
* [SPARC] Switch to the Machine Scheduler.James Y Knight2015-09-108-56/+59
| | | | | | | | | | | | | The (mostly-deprecated) SelectionDAG-based ILPListDAGScheduler scheduler was making poor scheduling decisions, causing high register pressure and extraneous register spills. Switching to the newer machine scheduler generates better code -- even without there being a machine model defined for SPARC yet. (Actually committing the test changes too, this time, unlike r247315) llvm-svn: 247343
* Mark two methods const.Rafael Espindola2015-09-101-4/+5
| | | | | | While at it, optimize getOffset a bit. llvm-svn: 247342
* Fix SEH state numbering algorithm to handle cleanupendpadsReid Kleckner2015-09-103-4/+228
| | | | | | | WinEHPrepare's new coloring algorithm really expects to see cleanupendpads now, so Clang will start emitting them soon. llvm-svn: 247341
* [OMPT] Fix assertion that arises when waiting for proxy tasks on runtime ↵Jonathan Peyton2015-09-102-11/+19
| | | | | | | | | | | | | | shutdown This only triggered when built in debug mode with OMPT enabled: __kmp_wait_template expected the state of the current thread to be either ompt_state_idle or ompt_state_wait_barrier{,_implicit,_explicit}. Patch by Jonas Hahnfeld Differential Revision: http://reviews.llvm.org/D12754 llvm-svn: 247339
* XFAIL tests that require an additional LLVM patch to workTobias Grosser2015-09-102-0/+7
| | | | llvm-svn: 247338
* [LV] Relax Small Size Reduction Type RequirementMatthew Simpson2015-09-102-9/+80
| | | | | | | | | | | | | This patch enables small size reductions in which the source types are smaller than the reduction type (e.g., computing an i16 sum from the values in an i8 array). The previous behavior was to only allow small size reductions if the source types and reduction type were the same. The change accounts for the fact that the existing sign- and zero-extend instructions in these cases should still be included in the cost model. Differential Revision: http://reviews.llvm.org/D12770 llvm-svn: 247337
* [RuntimeDyld] Support non-zero addends for the MachO X86_64 SUBTRACTOR reloc.Lang Hames2015-09-102-4/+8
| | | | | | This functionality was accidentally left out of r247119. llvm-svn: 247336
* [RuntimeDyld] Fix a bug in debugging output: all sections should be dumpedLang Hames2015-09-101-2/+13
| | | | | | | | | | | before any relocations have been applied, and again after all relocations have been applied. Previously each section was dumped before and after relocations targetting it were applied, but this only shows the impact of relocations that point to other symbols in the same section. llvm-svn: 247335
* Add an explicit 'inline' specifier to these static functions. GCC isChandler Carruth2015-09-101-14/+14
| | | | | | | | warning on them having always_inline attribute for reasons I don't fully understand -- static functions are just as inlinable as inline functions in terms of linkage. llvm-svn: 247334
* Fix depth field bug and resize() function in hierarchical barrierJonathan Peyton2015-09-102-12/+26
| | | | | | | | | | | This is a follow up to the hierarchy cleanup patch. Added some clarifying comments to hierarchy_info. Fixed a bug with the depth field not being updated cleanly during a resize. Fixed resize to first check capacity as determined by maxLevels before actually doing the full resize. Differential Revision: http://reviews.llvm.org/D12562 llvm-svn: 247333
* Revert "Generating assumption loads of vptr after ctor call (fixed)"Piotr Padlewski2015-09-1013-570/+148
| | | | | | | | It seems that there is small bug, and we can't generate assume loads when some virtual functions have internal visibiliy This reverts commit 982bb7d966947812d216489b3c519c9825cacbf2. llvm-svn: 247332
* Correct the return type of CreateCleanupEndPadReid Kleckner2015-09-101-2/+2
| | | | llvm-svn: 247331
* Fix a warning when building with gcc.Rafael Espindola2015-09-101-1/+1
| | | | | | | | It was /Writer.cpp:119:45: warning: enumeral and non-enumeral type in conditional expression llvm-svn: 247330
* A little more cleanup in the build script that creates a list of archive ↵Greg Clayton2015-09-101-12/+17
| | | | | | directories to make things more clear. llvm-svn: 247329
* Revert "[SPARC] Switch to the Machine Scheduler."James Y Knight2015-09-102-6/+1
| | | | | | | | This reverts commit r247315. Accidentally omitted test changes; will resubmit full change shortly. llvm-svn: 247328
* Move sel-address.mm from test/CodeGenCXX to test/SemaObjCXX, it's not a ↵Nico Weber2015-09-102-14/+14
| | | | | | codegen test. llvm-svn: 247327
* Cleanup of affinity hierarchy code.Jonathan Peyton2015-09-104-456/+310
| | | | | | | | | | | | Some of this is improvement to code suggested by Hal Finkel. Four changes here: 1.Cleanup of hierarchy code to handle all hierarchy cases whether affinity is available or not 2.Separated this and other classes and common functions out to a header file 3.Added a destructor-like fini function for the hierarchy (and call in __kmp_cleanup) 4.Remove some redundant code that is hopefully no longer needed Differential Revision: http://reviews.llvm.org/D12449 llvm-svn: 247326
* CFI: Run the tests only on supported architectures/OSs.Peter Collingbourne2015-09-103-0/+7
| | | | | | | Specifically, only run the cfi-icall tests on x86/x86_64, and add an XFAIL for darwin. llvm-svn: 247325
* Driver: Support cfi-icall on all OSs when targeting x86/x86_64.Peter Collingbourne2015-09-103-4/+8
| | | | llvm-svn: 247324
* Fix Clang-tidy misc-use-override warnings, other minor fixes.Rui Ueyama2015-09-1014-71/+47
| | | | | | Patch from Eugene Zelenko! llvm-svn: 247323
* [IR] Conservatively mark 'catchpad' as accessing memoryDavid Majnemer2015-09-101-0/+2
| | | | | | | | The exact semantics of 'catchpad' are really in the hands of the personality routine so we shouldn't assume that they have no side effects. llvm-svn: 247322
* [libFuzzer] refactor the code to allow building libFuzzer on platforms that ↵Kostya Serebryany2015-09-102-17/+65
| | | | | | don't have dfsan and don't support weak functions llvm-svn: 247321
* Fix hanging barriers if number of parallel regions exceeds UINT_MAXJonathan Peyton2015-09-104-24/+24
| | | | | | | | | | The fix is to make b_arrived flag 64 bit in both structures - kmp_balign_team_t and kmp_balign_t. Otherwise when flag in kmp_balign_team_t wrapped over UINT_MAX the library hangs. Differential Revision: http://reviews.llvm.org/D12563 llvm-svn: 247320
* Add a getDeclContextDescriptor() helper function to CGDebugInfo. (NFC)Adrian Prantl2015-09-102-27/+28
| | | | llvm-svn: 247319
* [SEH] Use catchret in the new EH IR like we do for C++Reid Kleckner2015-09-103-2/+265
| | | | | | Also add tests for SEH with the new IRGen. llvm-svn: 247318
* [CUDA] Postprocess bitcode linked in during device-side CUDA compilation.Artem Belevich2015-09-106-1/+106
| | | | | | | | Link in and internalize the symbols we need from supplied bitcode library. Differential Revision: http://reviews.llvm.org/D11664 llvm-svn: 247317
* [CMake] Add lto subdirectory explicitly.Chris Bieneman2015-09-101-0/+4
| | | | | | | | This is required because ExternalProject_Add requires all targets specified in the DEPENDS argument must exist before calling ExternalProject_Add. I have a follow-up patch to clang that enables using the just-built libLTO in bootstrap builds, so we need to be able to add the LTO target as a dependency in clang. llvm-svn: 247316
* [SPARC] Switch to the Machine Scheduler.James Y Knight2015-09-102-1/+6
| | | | | | | | | | | The (mostly-deprecated) SelectionDAG-based ILPListDAGScheduler scheduler was making poor scheduling decisions, causing high register pressure and extraneous register spills. Switching to the newer machine scheduler generates better code -- even without there being a machine model defined for SPARC yet. llvm-svn: 247315
* [SCEV] Consistently Handle Expressions That Cannot Be DividedMatthew Simpson2015-09-102-36/+62
| | | | | | | | | | | | | | | | This patch addresses the issue of SCEV division asserting on some input expressions (e.g., non-affine expressions) and quietly giving up on others. When giving up, we set the quotient to be equal to zero and the remainder to be equal to the numerator. With this patch, we always quietly give up when we cannot perform the division. This patch also adds a test case for DependenceAnalysis that previously caused an assertion. Differential Revision: http://reviews.llvm.org/D11725 llvm-svn: 247314
* [MergeFuncs] Fix callsite attributes in thunk generationJF Bastien2015-09-104-3/+18
| | | | | | | | | | | | | | | | This change correctly sets the attributes on the callsites generated in thunks. This makes sure things such as sret, sext, etc. are correctly set, so that the call can be a proper tailcall. Also, the transfer of attributes in the replaceDirectCallers function appears to be unnecessary, but until this is confirmed it will remain. Author: jrkoenig Reviewers: dschuff, jfb Subscribers: llvm-commits, nlewycky Differential revision: http://reviews.llvm.org/D12581 llvm-svn: 247313
* Tidy up some alias syntax to make explicit pointer type migration easierDavid Blaikie2015-09-102-2/+2
| | | | llvm-svn: 247312
* [CMake] s/LLVM_SOURCE_DIR/LLVM_MAIN_SRC_DIR/Jordan Rose2015-09-101-1/+1
| | | | | | | | Fix-up for r247305 to use the right variable. There's another use of LLVM_SOURCE_DIR in this file that is probably also questionable, but it's for Windows so I'm going to leave it alone. llvm-svn: 247311
* Runtime error check eliminationJohannes Doerfert2015-09-106-8/+164
| | | | | | | | | | | | | Hoist runtime checks in the loop nest if they guard an "error" like event. Such events are recognized as blocks with an unreachable terminator or a call to the ubsan function that deals with out of bound accesses. Other "error" events can be added easily. We will ignore these blocks when we detect/model/optmize and code generate SCoPs but we will make sure that they would not have been executed using the assumption framework. llvm-svn: 247310
OpenPOWER on IntegriCloud