summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PECOFF] Simplify IdataPass. No functionality change.Rui Ueyama2014-10-082-5/+5
| | | | llvm-svn: 219348
* Remove dead call to getTypeToTransformTo. The result isEric Christopher2014-10-081-3/+1
| | | | | | unused. llvm-svn: 219347
* DebugInfo: The rest of pushing DwarfDebug::constructScopeDIE down into ↵David Blaikie2014-10-082-71/+1
| | | | | | | | | DwarfCompileUnit Funnily enough, I copied it, but didn't actually remove the original in r219345. Let's do that. llvm-svn: 219346
* Push DwarfDebug::constructScopeDIE down into DwarfCompileUnitDavid Blaikie2014-10-084-18/+94
| | | | | | | | | | One of many steps to generalize subprogram emission to both the DWO and non-DWO sections (to emit -gmlt-like data under fission). Once the functions are pushed down into DwarfCompileUnit some of the data structures will be pushed at least into DwarfFile so that they can be unique per-file, allowing emission to both files independently. llvm-svn: 219345
* [PECOFF] Remember DLL names given with /delayload option.Rui Ueyama2014-10-083-1/+24
| | | | | | This is a step toward full support of /delayload. llvm-svn: 219344
* Mark sanitizer tests XFAIL on ARMv7Renato Golin2014-10-0823-0/+25
| | | | | | | | | ASAN, UBSAN and profile tests that don't work with arm-linux-gnueabi and android also don't work on armv7l-linux-gnueabihf. Some of the tests have known causes, others not yet. In order to get a green bot, I'm disabling those tests for now and will investigate when the priority rises. llvm-svn: 219343
* Remove a bunch of getSubtargetImpl calls since we already haveEric Christopher2014-10-081-35/+6
| | | | | | a cached TLI instance. llvm-svn: 219342
* Use llvm::StringSwitch.Rui Ueyama2014-10-081-19/+16
| | | | llvm-svn: 219341
* Fix compile error on posix.Zachary Turner2014-10-081-1/+1
| | | | llvm-svn: 219340
* Fix deadlock in Python one-line execution.Zachary Turner2014-10-088-105/+431
| | | | | | | | | | | | | | | | | Python one-line execution was using ConnectionFileDescriptor to do a non-blocking read against a pipe. This won't work on Windows, as CFD is implemented using select(), and select() only works with sockets on Windows. The solution is to use ConnectionGenericFile on Windows, which uses the native API to do overlapped I/O on the pipe. This in turn requires re-implementing Host::Pipe on Windows using native OS handles instead of the more portable _pipe CRT api. Reviewed by: Greg Clayton Differential Revision: http://reviews.llvm.org/D5679 llvm-svn: 219339
* [Refactor][NFC] Simplify (Vector)BlockGeneratorJohannes Doerfert2014-10-081-5/+2
| | | | | | | | This removes an unnecessary cast and a unnecessary local variable. Differential Revision: http://reviews.llvm.org/D5662 llvm-svn: 219338
* Add a (Python only) lldb.SBSyntheticValueProvider class to our API surfaceEnrico Granata2014-10-082-0/+29
| | | | | | | | On a suggestion from Jim Ingham, this class allows you to very easily define synthetic child providers that return a synthetic value (in the sense of r219330), but no children Also, document this new feature in our www docs llvm-svn: 219337
* [X86] Avoid generating inc/dec when slow for x.atomic_store(1 + x.atomic_load())Robin Morisset2014-10-082-2/+25
| | | | | | | | | | | | | | | | | Summary: I had forgotten to check for NotSlowIncDec in the patterns that can generate inc/dec for the above pattern (added in D4796). This currently applies to Atom Silvermont, KNL and SKX. Test Plan: New checks on atomic_mi.ll Reviewers: jfb, nadav Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5677 llvm-svn: 219336
* Inliner: Non-local functions in COMDATs shouldn't be droppedDavid Majnemer2014-10-082-0/+25
| | | | | | | | | | A function with discardable linkage cannot be discarded if its a member of a COMDAT group without considering all the other COMDAT members as well. This sort of thing is already handled by GlobalOpt/GlobalDCE. This fixes PR21206. llvm-svn: 219335
* [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
OpenPOWER on IntegriCloud