summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use the plt entry as the address of some symbols.Rafael Espindola2016-02-099-49/+83
| | | | | | | | | | | | | | | This is the function equivalent of a copy relocation. Since functions are expected to change sizes, we cannot use copy relocations. In situations where one would be needed, what is done instead is: * Create a plt entry * Output an undefined symbol whose addr is the plt entry. The dynamic linker makes sure any shared library uses the plt entry as the function address. llvm-svn: 260224
* [clang-tidy] Add 'misc-misplaced-widening-cast' check.Daniel Marjamaki2016-02-097-0/+251
| | | | | | | | | | Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D16310 llvm-svn: 260223
* Registering the gnuNullExpr AST matcher as a dynamic matcher so that it is ↵Aaron Ballman2016-02-091-0/+1
| | | | | | available from clang-query. llvm-svn: 260222
* Fix comment for MD5Hash.Teresa Johnson2016-02-091-1/+1
| | | | llvm-svn: 260221
* [OPENMP] Fix test incompatibility with arm buildbots.Alexey Bataev2016-02-091-2/+3
| | | | llvm-svn: 260220
* Fix possible OOB access found by buildbotAlexey Bataev2016-02-091-7/+8
| | | | llvm-svn: 260219
* Add AST matcher reference to documentation directory when building HTML docs.Manuel Klimek2016-02-091-0/+2
| | | | llvm-svn: 260218
* [clang-tidy] Make readability-container-size-empty work with inline ↵Gabor Horvath2016-02-092-20/+38
| | | | | | namespaces. Fix PR25812. llvm-svn: 260217
* Fix a typo in an xfail decorator in TestExprsCharTamas Berghammer2016-02-091-1/+1
| | | | llvm-svn: 260216
* [OPENMP] Allow to use the variable in the same 'threadprivate'Alexey Bataev2016-02-091-3/+0
| | | | | | directive. llvm-svn: 260215
* Do not mark variable as threadprivate if it was marked already.Alexey Bataev2016-02-091-0/+3
| | | | llvm-svn: 260214
* [OPENMP] Allow to reference threadprivate variable in same directive.Alexey Bataev2016-02-092-3/+9
| | | | llvm-svn: 260213
* [clang-tidy] Replace a custom ASTMatcher with a built-in one.Gabor Horvath2016-02-091-4/+2
| | | | llvm-svn: 260212
* Fixed preprocessed output of the first token for pragmas.Alexey Bataev2016-02-092-0/+15
| | | | | | | Clang did not expanded macros in the very first token of the pragmas during preprocessed output llvm-svn: 260211
* [X86][AVX2] Fix SIGN_EXTEND vector handling on AVX2 targets.Simon Pilgrim2016-02-093-20/+24
| | | | | | | | | | On AVX2 target we are poorly legalizing SIGN_EXTEND ops for which the input's legalized type doesn't have the same number of elements as the destination, resulting in an ANY_EXTEND followed by a SIGN_EXTEND_INREG. This patch uses the existing SIGN_EXTEND -> SIGN_EXTEND_VECTOR_INREG combine to extend the input to the size of the result and using SIGN_EXTEND_VECTOR_INREG instead. Differential Revision: http://reviews.llvm.org/D16994 llvm-svn: 260210
* lld/test/mach-o/dependency_info.yaml: Forgot to remove XFAIL:win32.NAKAMURA Takumi2016-02-091-5/+0
| | | | llvm-svn: 260209
* lld/test/mach-o/dependency_info.yaml: Tweak for dos path.NAKAMURA Takumi2016-02-091-3/+3
| | | | llvm-svn: 260208
* check-lld: Introduce %python.NAKAMURA Takumi2016-02-092-1/+4
| | | | llvm-svn: 260207
* Introduce the feature 'demangler' in check-lld. Mark ↵NAKAMURA Takumi2016-02-092-2/+6
| | | | | | lld/test/old-elf/X86_64/demangle.test as REQUIRES:demangler. llvm-svn: 260206
* Disable lld/test/old-elf/group-cmd-search.test on win32. "XFAIL:win32" was ↵NAKAMURA Takumi2016-02-091-1/+1
| | | | | | insufficient. llvm-svn: 260205
* [GCC] GOMP_task: Change argument type of if_cond from int to boolJonas Hahnfeld2016-02-091-1/+1
| | | | | | | | | | | | (libgomp has bool as well) This was causing a test failure in omp_test_if.c when building with GCC in Debug mode. I have verified that GCC versions 4.9.2 and 5.3.0 now work and compile-tested this change with clang 3.7.1 and Intel Compiler 16.0. Differential Revision: http://reviews.llvm.org/D16921 llvm-svn: 260204
* [CMake] Updating caches README with explanations of useful cache files.Chris Bieneman2016-02-091-8/+64
| | | | | | This is in response to silvas' post-commit suggestion. llvm-svn: 260203
* Minor updates to failing tests. NFCMarshall Clow2016-02-092-2/+10
| | | | llvm-svn: 260202
* [CMake] Providing a CMake cache for 3-stage buildsChris Bieneman2016-02-091-0/+34
| | | | | | | | | | | | This cache file can be used to generate a 3-stage clang build. You can configure using the following CMake command: cmake -C <path to clang>/cmake/caches/3-stage.cmake -G Ninja <path to llvm> You can then run "ninja stage3-clang" to build stage1, stage2 and stage3 clangs. This is useful for finding non-determinism the compiler by verifying that stage2 and stage3 are identical. llvm-svn: 260201
* Add comments to some testsXinliang David Li2016-02-091-0/+4
| | | | llvm-svn: 260200
* Fix an issue where pressing CTRL+C in the interactive script interpreter ↵Enrico Granata2016-02-091-1/+1
| | | | | | | | | | | | causes LLDB to crash This is because PyThreadState_Get() assumes a non-NULL thread state and crashes otherwise; but PyThreadState_GET is just a shortcut (in non-Python-debugging builds) for the global variable that holds the thread state The behavior of CTRL+C is slightly more erratic than one would like. CTRL+C in the middle of execution of Python code will cause that execution to be interrupted (e.g. time.sleep(1000)), but a CTRL+C at the prompt will just cause a KeyboardInterrupt and not exit the interpreter - worse, it will only trigger the exception once one presses ENTER. None of this is optimal, of course, but I don't have a lot of time to appease the Python deities with the proper spells right now, and fixing the crasher is already a good thing in and of itself llvm-svn: 260199
* Further reduce test overheadXinliang David Li2016-02-091-8/+4
| | | | llvm-svn: 260198
* Refactor PGO function naming and MD5 hashing support out of ProfileDataTeresa Johnson2016-02-095-31/+47
| | | | | | | | | | | | | | | | | | | | Summary: Move the function renaming logic into the Function class, and the MD5Hash routine into the MD5 header. This will enable these routines to be shared with ThinLTO, which will be changed to store the MD5 hash instead of full function name in the combined index for significant size reductions. And using the same function naming for locals in the function index facilitates future integration with indirect call value profiles. Reviewers: davidxl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17006 llvm-svn: 260197
* Use std::forward to make ErrorOr<T> constructible from a value that has a ↵Nick Lewycky2016-02-092-17/+47
| | | | | | user-defined conversion to T. No functionality change intended. llvm-svn: 260196
* Use the reserved spellings for attributesSaleem Abdulrasool2016-02-091-1/+1
| | | | | | Change the no_sanitize attribute to use the reserved spelling. llvm-svn: 260195
* Avoid forcing emission of delayed dllexported classes on template instantiationReid Kleckner2016-02-092-0/+21
| | | | | | Fixes PR26490 llvm-svn: 260194
* [GMR/OperandBundles] Teach getModRefBehavior about operand bundlesSanjoy Das2016-02-092-7/+35
| | | | | | | | | In general, memory restrictions on a called function (e.g. readnone) cannot be transferred to a CallSite that has operand bundles. It is possible to make this inference smarter, but lets fix the behavior to be correct first. llvm-svn: 260193
* [TestExprsChar] Fix a typo is failure archs listSiva Chandra2016-02-091-1/+1
| | | | | | | | | | Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17014 llvm-svn: 260192
* Add cmdline options for LC_DATA_IN_CODE load command.Pete Cooper2016-02-097-7/+111
| | | | | | | | | | | | Also added the defaults for whether to generate this load command, which the cmdline options are able to override. There was also a difference to ld64 which is fixed here in that ld64 will generate an empty data in code command if requested. rdar://problem/24472630 llvm-svn: 260191
* Remove TrailingObjects::operator delete. It's still suffering fromRichard Smith2016-02-093-8/+4
| | | | | | | | | compiler-specific issues. Instead, repeat an 'operator delete' definition in each derived class that is actually deleted, and give up on the static type safety of an error when sized delete is accidentally used on a type derived from TrailingObjects. llvm-svn: 260190
* Remove 'llvm::TrailingObjects::operator delete', clang side.Richard Smith2016-02-091-1/+1
| | | | llvm-svn: 260189
* Generate LC_FUNCTION_STARTS load command.Pete Cooper2016-02-098-43/+238
| | | | | | | | | | | | | | This load command generates data in the LINKEDIT section which is a list of ULEB128 delta's to all of the functions in the __text section. It is then 0 terminated and pointer aligned to pad. ld64 exposes the -function-starts and no-function-starts cmdline options to override behaviour from the defaults based on file types. rdar://problem/24472630 llvm-svn: 260188
* Fix the LLVM_ENABLE_MODULES build after adding TargetOpcodes.def in r259726.David L Kreitzer2016-02-091-0/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D17005 llvm-svn: 260186
* We should never dead strip mach header symbols.Pete Cooper2016-02-092-7/+8
| | | | | | | | This was a bug in our handling of these symbols compared to ld64. Turns out that ld64 always marks these symbols as being not dead stripped. llvm-svn: 260185
* Reorder enum entry as its used for atom sorting.Pete Cooper2016-02-092-1/+2
| | | | | | | | | | The atom content type enum is used as a tie breaker to sort atoms. In that case, we want MachHeader to be before typeCode as it really will be before the code in the final executable. Test case to follow in the next commit or two. llvm-svn: 260184
* Add an "addUsedAAAnalyses" helper functionSanjoy Das2016-02-096-0/+32
| | | | | | | | | | | | | | | | | | | Summary: Passes that call `getAnalysisIfAvailable<T>` also need to call `addUsedIfAvailable<T>` in `getAnalysisUsage` to indicate to the legacy pass manager that it uses `T`. This contract was being violated by passes that used `createLegacyPMAAResults`. This change fixes this by exposing a helper in AliasAnalysis.h, `addUsedAAAnalyses`, that is complementary to createLegacyPMAAResults and does the right thing when called from `getAnalysisUsage`. Reviewers: chandlerc Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17010 llvm-svn: 260183
* Remove SCEVAAWrapperPass from createLegacyPMAAResults; NFCSanjoy Das2016-02-091-2/+0
| | | | | | | | | | | | | | | Summary: createLegacyPMAAResults is only called by CGSCC and Module passes, so the call to getAnalysisIfAvailable<SCEVAAWrapperPass>() never succeeds (SCEVAAWrapperPass is a function pass). Reviewers: chandlerc Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17009 llvm-svn: 260182
* Fix undefined behavior when compiling in C++14 due to sized operator deleteRichard Smith2016-02-092-9/+20
| | | | | | | being called with the wrong size: convert CGFunctionInfo to use TrailingObjects and ask TrailingObjects to provide a working 'operator delete' for us. llvm-svn: 260181
* Re-commit r259942 (reverted in r260053) with a different workaround for the ↵Richard Smith2016-02-093-1/+11
| | | | | | | | | | | | | | | MSVC bug. This fixes undefined behavior in C++14 due to the size of the object being deleted being different from sizeof(dynamic type) when it is allocated with trailing objects. MSVC seems to have several bugs around using-declarations changing the access of a member inherited from a base class, so use forwarding functions instead of using-declarations to make TrailingObjects::operator delete accessible where desired. llvm-svn: 260180
* Simplify some expressions involving unique_ptr and ErrorOrDavid Blaikie2016-02-091-42/+42
| | | | llvm-svn: 260179
* Remove skip and xfail decorators for target architecture.Zachary Turner2016-02-099-25/+10
| | | | | | | | | | | | | | | | This removes the following decorators: * skipIfI386 * expectedFailureI386 * expectedFailurex86_64 * skipIfArch * skipUnlessArch * skipUnlessI386 And other related decorators. All code using those decorators is updated to use expectedFailureAll and skipIf llvm-svn: 260178
* Remove skipIfHostPlatform and skipUnlessHostPlatform decorators.Zachary Turner2016-02-093-20/+4
| | | | llvm-svn: 260177
* Remove the skipUnlessArch decorator.Zachary Turner2016-02-093-35/+8
| | | | | | Convert everything over to using skipIf. llvm-svn: 260176
* [asan] Fix build on Windows and PowerPC.Evgeniy Stepanov2016-02-092-4/+5
| | | | llvm-svn: 260175
* This patch is to fix PR26529 caused by r259736.Wei Mi2016-02-092-4/+35
| | | | | | | | | | | | | | | | IndVarSimplify assumes scAddRecExpr to be expanded in literal form instead of canonical form by calling disableCanonicalMode after it creates SCEVExpander. When CanonicalMode is disabled, SCEVExpander::expand should always return PHI node for scAddRecExpr. r259736 broke the assumption. The fix is to let SCEVExpander::expand skip the reuse Value logic if CanonicalMode is false. In addition, Besides IndVarSimplify, LSR pass also calls disableCanonicalMode before doing rewrite. We can remove the original check of LSRMode in reuse Value logic and use CanonicalMode instead. llvm-svn: 260174
OpenPOWER on IntegriCloud