summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] Implement --export-dynamic/-ERafael Auler2014-10-086-9/+133
| | | | | | | | | | | | | | | | | When creating a dynamic executable and receiving the -E flag, the linker should export all globally visible symbols in its dynamic symbol table. This commit also moves the logic that exports symbols in the dynamic symbol table from OutputELFWriter to the ExecutableWriter class. It is not correct to leave this at OutputELFWriter because DynamicLibraryWriter, another subclass of OutputELFWriter, already exports all symbols, meaning we can potentially end up with duplicated symbols in the dynamic symbol table when creating shared libs. Reviewers: shankarke http://reviews.llvm.org/D5585 llvm-svn: 219334
* Remove bashisms and switch to /bin/shEd Maste2014-10-081-16/+16
| | | | | | | | | On a default FreeBSD install Bash is not installed and fdescfs is not mounted. Use plain sh functionality instead. Differential Revision: http://reviews.llvm.org/D5631 llvm-svn: 219333
* AArch64: don't just hack arm64 support into compiler-rt.Tim Northover2014-10-081-10/+3
| | | | | | | | | We should check whether the compiler & linker support ARM64 before attempting to build a version of compiler-rt for it. Otherwise things will go badly. rdar://problem/18575597 llvm-svn: 219332
* Replace a destructor of EHCleanupScope with a Destroy() method to reflect ↵Kostya Serebryany2014-10-082-2/+4
| | | | | | | | | | | | | | | | | | | | | the current usage. Summary: The current code uses memset to re-initialize EHCleanupScope objects with breaks the assumptions of the upcoming asan's intra-object-overflow checker. If there is no DTOR, the new checker will refuse to work. Test Plan: bootstrap with asan Reviewers: rnk Reviewed By: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5656 llvm-svn: 219331
* Extend synthetic children to produce synthetic values (as in, those that ↵Enrico Granata2014-10-0823-32/+331
| | | | | | | | | | | | | | | | | GetValueAsUnsigned(), GetValueAsCString() would return) The way to do this is to write a synthetic child provider for your type, and have it vend the (optional) get_value function. If get_value is defined, and it returns a valid SBValue, that SBValue's value (as in lldb_private::Value) will be used as the synthetic ValueObject's Value The rationale for doing things this way is twofold: - there are many possible ways to define a "value" (SBData, a Python number, ...) but SBValue seems general enough as a thing that stores a "value", so we just trade values that way and that keeps our currency trivial - we could introduce a new level of layering (ValueObjectSyntheticValue), a new kind of formatter (synthetic value producer), but that would complicate the model (can I have a dynamic with no synthetic children but synthetic value? synthetic value with synthetic children but no dynamic?), and I really couldn't see much benefit to be reaped from this added complexity in the matrix On the other hand, just defining a synthetic child provider with a get_value but returning no actual children is easy enough that it's not a significant road-block to adoption of this feature Comes with a test case llvm-svn: 219330
* Add decorator for FreeBSD failureEd Maste2014-10-081-0/+1
| | | | | | llvm.org/pr21211 llvm-svn: 219329
* Skip asan test on FreeBSDEd Maste2014-10-081-1/+1
| | | | | | | | | | The build fails due to missing asan runtime in the FreeBSD base system. Instead of marking it expected fail, just skip until we have the runtime available. llvm.org/pr21136 llvm-svn: 219328
* Fix COFF section index relocation should be 16 bits, not 32Timur Iskhodzhanov2014-10-087-1/+17
| | | | | | | Original patch by Andrey Guskov! http://reviews.llvm.org/D5651 llvm-svn: 219327
* Fix typo in commentRui Ueyama2014-10-081-1/+1
| | | | llvm-svn: 219326
* Added new headers to CMakeLists.txt.Robert Khasanov2014-10-081-0/+3
| | | | | | Fix for rev219319 llvm-svn: 219325
* Correctly compute the size of common symbols in COFF.Rafael Espindola2014-10-082-5/+10
| | | | llvm-svn: 219324
* AArch64: add support for ARM64 iOS versions of compiler-rt.Tim Northover2014-10-089-7/+67
| | | | | | | | Just a dummy directory and a few sane choices in the Darwin SDK. rdar://problem/18575597 llvm-svn: 219323
* ms-inline-asm: Correctly mark MS inline ASM labels as usedEhsan Akhgari2014-10-082-3/+12
| | | | | | | | | | | | | | Summary: This fixes PR21155. Test Plan: The patch includes a test. Reviewers: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5619 llvm-svn: 219322
* Allow the VectorBlockGenerator to use the IslExprBuilder.Johannes Doerfert2014-10-084-18/+54
| | | | | | | This also enables the VectorBlockGenerator to build load store accesses according to the newAccessRelation of a MemoryAccess. llvm-svn: 219321
* Print symbol sizes in this test in preparation for fixing COFF common sizes.Rafael Espindola2014-10-081-7/+7
| | | | llvm-svn: 219320
* [AVX512] Added VPCMPEQ intrinisics to headers.Robert Khasanov2014-10-0811-0/+435
| | | | | | | | Added tests. Patch by Maxim Blumenthal <maxim.blumenthal@intel.com> llvm-svn: 219319
* llgs: add logging to Native*Protocol breakpoints around byte values replaced ↵Todd Fiala2014-10-081-1/+18
| | | | | | | | and restored. Useful for verifying what bytes a software breakpoint clobbers/restores. llvm-svn: 219318
* Revert "[InstCombine] re-commit r218721 with fix for pr21199"Justin Bogner2014-10-086-300/+9
| | | | | | | | | | | | | This seems to cause a miscompile when building clang, which causes a bootstrapped clang to fail or crash in several of its tests. See: http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-RA/builds/1184 http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/7813 This reverts commit r219282. llvm-svn: 219317
* [AVX512] Added intrinsics for 128-, 256- and 512-bit versions of ↵Robert Khasanov2014-10-087-6/+1556
| | | | | | | | | | | VPCMP/VPCMPU{BWDQ} Added CMP_MASK_CC intrinsic type. Added tests for intrinsics. Patch by Sergey Lisitsyn <sergey.lisitsyn@intel.com> llvm-svn: 219316
* Fixed OpenMP/parallel_firstprivate_codegen.cppAlexey Bataev2014-10-081-20/+20
| | | | | | Fixed compatibility issues on ARM. llvm-svn: 219315
* Remove bogus std::error_code returns form SectionRef.Rafael Espindola2014-10-0822-470/+252
| | | | | | | | | | | | | | There are two methods in SectionRef that can fail: * getName: The index into the string table can be invalid. * getContents: The section might point to invalid contents. Every other method will always succeed and returning and std::error_code just complicates the code. For example, a section can have an invalid alignment, but if we are able to get to the section structure at all and create a SectionRef, we will always be able to read that invalid alignment. llvm-svn: 219314
* Revert "[ELF][AllArchs] Fix includes"Shankar Easwaran2014-10-0825-53/+53
| | | | | | This reverts commit e137dd93e1291a2d2fa7f41c8f8bcdb59c8b3225. llvm-svn: 219313
* Fix indentation.Rafael Espindola2014-10-081-4/+4
| | | | llvm-svn: 219312
* Update dwarf::ApplePropertyAttributes enum to meaningful values.Frederic Riss2014-10-082-19/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We currently emit an DW_AT_APPLE_property_attribute with a value that is a bitfield describing the various attributes applied to an ObjectiveC property. While trying to add testing to one of my dwarfdump patches that would pretty print that, I realized this information looks totally broken and has maybe never been correct. As with every DWARF info, we have some enum in Dwarf.h that describes this attribute (enum ApplePropertyAttributes). It seems however that the attribute value is set from another definition of these flags in Sema/DeclSpec.h (enum ObjCPropertyAttributeKind). And these 2 enums aren't in sync. This patch updates the Dwarf.h values to the ones we are (and have been for a very long time) emitting. We change some publicly (and even documented in SourceLevelDebugging.rst) values, but I doubt this could be an issue as the information has been wrong for so long... Reviewers: echristo, dblaikie, aprantl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5653 llvm-svn: 219311
* [AVX512] Refactoring of avx512_binop_rm multiclass through AVX512_masking.Robert Khasanov2014-10-082-133/+60
| | | | | | | Added new argrument for AVX512_masking: InstrItinClass and bit isCommutable. No functional change. llvm-svn: 219310
* Fix test OpenMP/parallel_firstprivate_codegen.cppAlexey Bataev2014-10-081-3/+3
| | | | | | Fixed compatibility issues with MSVC mode and ARM target. llvm-svn: 219309
* Remove an out of date comment.Rafael Espindola2014-10-081-1/+0
| | | | | | | After 4 years there is still no normalization library. We do support disassembly and relocations, so it doesn't look like we need it. llvm-svn: 219308
* Revert "Remove threshold on object size for inserting lifetime begin / end"Arnaud A. de Grandmaison2014-10-0815-286/+36
| | | | | | Revert this patch while I investigate some sanitizer failures off-line. llvm-svn: 219307
* [OPENMP] Codegen for 'firstprivate' clause.Alexey Bataev2014-10-0826-294/+806
| | | | | | | | This patch generates some helper variables that used as private copies of the corresponding original variables inside an OpenMP 'parallel' directive. These generated variables are initialized by copy using values of the original variables (with the copy constructor, if any). For arrays, initializator is generated for single element and in the codegen procedure this initial value is automatically propagated between all elements of the private copy. In outlined function, references to original variables are replaced by the references to these private helper variables. At the end of the initialization of the private variables an implicit barier is generated by calling __kmpc_barrier(...) runtime function to be sure that all threads were initialized using original values of the variables. Differential Revision: http://reviews.llvm.org/D5140 llvm-svn: 219306
* Separating ARM/AArch64 Compiler-RT testsRenato Golin2014-10-081-4/+5
| | | | | | | Makes sure ARM bots don't run AArch64 and vice-versa, since not all AArch64 systems can run AArch32 and no ARM hardware can run AArch64. llvm-svn: 219304
* Remove threshold on object size for inserting lifetime begin / endArnaud A. de Grandmaison2014-10-0815-36/+286
| | | | | | | | | Boostrapping LLVM+Clang+LLDB without threshold on object size for lifetime markers insertion has shown there was no significant change in compile time, so let the stack slot colorizer do its optimization for all slots. llvm-svn: 219303
* [ASan] Bump the minimum OSX version required to run ASan to 10.7.Alexander Potapenko2014-10-082-2/+2
| | | | llvm-svn: 219302
* Emit unaligned access build attribute for ARMRenato Golin2014-10-082-0/+35
| | | | | | Patch by Charlie Turner. llvm-svn: 219301
* Refactor isThumb1Only() && isMClass() into a predicate called isV6M()Renato Golin2014-10-082-5/+8
| | | | | | | | | This must be enforced for all v6M cores, not just the cortex-m0, irregardless of the user-specified alignment. Patch by Charlie Turner. llvm-svn: 219300
* Simplify switch statement in ARM subtarget align accessRenato Golin2014-10-081-30/+24
| | | | | | | | This switch can be reduced to a simpler if/else statement. Patch by Charlie Turner. llvm-svn: 219299
* Revert commit r219297.Alexey Bataev2014-10-0826-804/+294
| | | | | | Still troubles with OpenMP/parallel_firstprivate_codegen.cpp (now in ARM buildbots). llvm-svn: 219298
* [OPENMP] Codegen for 'firstprivate' clause.Alexey Bataev2014-10-0826-294/+804
| | | | | | | | This patch generates some helper variables that used as private copies of the corresponding original variables inside an OpenMP 'parallel' directive. These generated variables are initialized by copy using values of the original variables (with the copy constructor, if any). For arrays, initializator is generated for single element and in the codegen procedure this initial value is automatically propagated between all elements of the private copy. In outlined function, references to original variables are replaced by the references to these private helper variables. At the end of the initialization of the private variables an implicit barier is generated by calling __kmpc_barrier(...) runtime function to be sure that all threads were initialized using original values of the variables. Differential Revision: http://reviews.llvm.org/D5140 llvm-svn: 219297
* Revert back r219295.Alexey Bataev2014-10-0826-804/+294
| | | | | | To fix issues with test OpenMP/parallel_firstprivate_codegen.cpp llvm-svn: 219296
* [OPENMP] Codegen for 'firstprivate' clause.Alexey Bataev2014-10-0826-294/+804
| | | | | | | | This patch generates some helper variables that used as private copies of the corresponding original variables inside an OpenMP 'parallel' directive. These generated variables are initialized by copy using values of the original variables (with the copy constructor, if any). For arrays, initializator is generated for single element and in the codegen procedure this initial value is automatically propagated between all elements of the private copy. In outlined function, references to original variables are replaced by the references to these private helper variables. At the end of the initialization of the private variables an implicit barier is generated by calling __kmpc_barrier(...) runtime function to be sure that all threads were initialized using original values of the variables. Differential Revision: http://reviews.llvm.org/D5140 llvm-svn: 219295
* [Refactor] Rename MemoryAccess::Type as it clashes with llvm::TypeJohannes Doerfert2014-10-082-7/+7
| | | | llvm-svn: 219294
* Custom wrappers for DFSanitizing sprintf & snprintf.Lorenzo Martignoni2014-10-086-14/+416
| | | | | | Differential Revision: http://reviews.llvm.org/D5561 llvm-svn: 219293
* Use the TargetLowering information we already have on theEric Christopher2014-10-081-305/+256
| | | | | | | SelectionDAG in SelectionDAGBuilder rather than going through the TargetMachine for lookup. llvm-svn: 219292
* Grab the TargetRegisterInfo off of the subtarget from theEric Christopher2014-10-081-1/+1
| | | | | | | MachineFunction rather than a lookup on the TargetMachine to avoid unnecessary lookups. llvm-svn: 219291
* Update git-svnrevert to accept git and svn revisionsRenato Golin2014-10-081-9/+16
| | | | | | | | | | Interchangeable commit ids can now be used on this git-svnrevert, which will figure out what kind of commit that is (if you use format rNNNN for SVN commits) and make sure the right ids are used in the right places. It's a little bit more robust and user-friendly. llvm-svn: 219290
* Revert "[OPENMP] 'omp teams' directive basic support. Includes parsing and ↵Renato Golin2014-10-0833-1663/+11
| | | | | | | | | semantic analysis for 'omp teams' directive support from OpenMP 4.0. Adds additional analysis to 'omp target' directive with 'omp teams' directive." This reverts commit r219197 because it broke ARM self-hosting buildbots with segmentation fault errors in many tests. llvm-svn: 219289
* Unix/Process: Don't use pthread_sigmask if we aren't built with threadsDavid Majnemer2014-10-081-1/+12
| | | | | | | | We won't link in pthreads if we weren't built with LLVM_ENABLE_THREADS which means we won't get access to pthread_sigmask. Use sigprocmask instead. llvm-svn: 219288
* Replace calls to get the subtarget and TargetFrameLowering withEric Christopher2014-10-082-32/+27
| | | | | | cached variables and a single call in the constructor. llvm-svn: 219287
* Format spacing and remove extra lines to comply with standards. NFC.Suyog Sarda2014-10-081-5/+6
| | | | | | | Differential Revision: http://reviews.llvm.org/D5649 llvm-svn: 219286
* Use cached subtarget rather than looking it up on theEric Christopher2014-10-081-6/+4
| | | | | | TargetMachine again. llvm-svn: 219285
* Cache TargetLowering on SelectionDAGISel and update previousEric Christopher2014-10-088-78/+57
| | | | | | calls to getTargetLowering() with the cached variable. llvm-svn: 219284
OpenPOWER on IntegriCloud