summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [elf2] Ignore __tls_get_addr when static linking.Michael J. Spencer2015-10-062-0/+15
| | | | llvm-svn: 249365
* [WebAssembly] Switch to a more traditional assembly syntaxDan Gohman2015-10-0631-1101/+1636
| | | | | | | | | | | This new syntax is built around putting each instruction on its own line in a "mnemonic op, op, op" like syntax. It also uses conventional data section directives like ".byte" and so on rather than requiring everything to be in hierarchical S-expression format. This is a more natural syntax for a ".s" file format from the perspective of LLVM MC and related tools, while remaining easy to translate into other forms as needed. llvm-svn: 249364
* Mark 2259 and 2473 as complete. Add some more notesMarshall Clow2015-10-051-9/+9
| | | | llvm-svn: 249363
* dsymutil: Don't prune forward declarations inside of an imported TAG_moduleAdrian Prantl2015-10-054-7/+26
| | | | | | | | if there exists not definition for the type. For this to work, we need to clone the imported modules before building the decl context chains of the DIEs in the non-skeleton CUs. llvm-svn: 249362
* SBTarget::Attach(SBAttachInfo &) was changed to not be asynchronous back in ↵Greg Clayton2015-10-055-9/+125
| | | | | | | | | | February and this affected Xcode's abililty to cancel an attach to process by name. Added the ability to specify if an attach by name should be synchronous or not in SBAttachInfo and ProcessAttachInfo. <rdar://problem/22821480> llvm-svn: 249361
* Fix R_X86_64_RELATIVE for local symbols that refer to other sections.Rafael Espindola2015-10-052-2/+10
| | | | | | We were mixing up the relocated and target sections. llvm-svn: 249360
* [ELF2/AArch64] Read the right amount of bytes.Davide Italiano2015-10-051-2/+2
| | | | | | | | | | | This was clearly wrong (thanks Rui for spotting), and I honestly would like to get this tested so such mistakes won't repeat. Unfortunately, I wasn't (easily) able to craft a test that exposes the bad behavior. Ideally, we would like to get tests of this kind for all relocations, but at the time of writing, this is not true. So, for now just fix this bug and try to re-evaluate a way to test this in the future. llvm-svn: 249359
* [compiler-rt] Properly detect lack of available system libraries for arch in ↵Keno Fischer2015-10-052-8/+17
| | | | | | | | | | | | | | clang_darwin.mk Summary: This is the Makefile analog of r247833, except that the test also had to be changed such that clang actually attempts to link the program as opposed to just building it. Because of that change, I also switched the order to checking for ld/clang architecture support, because now lack of ld support would make the clang check fail. This fixes PR24776. Reviewers: beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13425 llvm-svn: 249358
* Handle a common symbol needing a R_X86_64_RELATIVE.Rafael Espindola2015-10-054-6/+18
| | | | llvm-svn: 249357
* Move helper classes into an anonymous namespace. NFC.Benjamin Kramer2015-10-051-0/+2
| | | | llvm-svn: 249356
* Remove duplicated default arguments. NFC.Benjamin Kramer2015-10-051-10/+8
| | | | llvm-svn: 249355
* Mark 2380 and 2384 as complete; no changes neededMarshall Clow2015-10-051-4/+4
| | | | llvm-svn: 249354
* Include existing addend when computing R_X86_64_RELATIVE.Rafael Espindola2015-10-053-5/+14
| | | | llvm-svn: 249353
* Patch for 2466 is readyMarshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249352
* Remove AutoFDO profile handling for GCC's LIPO. NFC.Diego Novillo2015-10-052-24/+0
| | | | | | | | Given the work we are doing on ThinLTO, we will never need to support module groups and working sets in GCC's implementation of LIPO. These are currently dead code, and will continue to be so. llvm-svn: 249351
* Make this test a bit more strict.Rafael Espindola2015-10-051-4/+4
| | | | | | Before the ADDR variables could match the empty string. llvm-svn: 249350
* Fixed a possible overflow in a test of allocator::max_size().Marshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249349
* Mark a couple more issues 'ready'Marshall Clow2015-10-051-6/+6
| | | | llvm-svn: 249348
* Mark 2072 as complete; we already do thisMarshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249347
* Fix the MSVC build.Rafael Espindola2015-10-051-4/+4
| | | | | | No idea what asymmetry MSVC is findind. llvm-svn: 249346
* Patch ready for 2127Marshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249345
* [WinEH] Update CATCHRET's operand to match its successorDavid Majnemer2015-10-053-9/+28
| | | | | | | | | | | | The CATCHRET operand did not match the MachineFunction's CFG. This mismatch happened because FrameLowering created a new MachineBasicBlock and updated the CFG but forgot to update the CATCHRET operand. Let's make sure this doesn't happen again by strengthing the funclet membership analysis: it can now reason about the membership of all basic blocks, not just those inside of funclets. llvm-svn: 249344
* Adding a checker (cert-dcl50-cpp) that detects the definition of a C-style ↵Aaron Ballman2015-10-057-0/+108
| | | | | | variadic function in C++ code. Corresponds to the CERT C++ secure coding rule: https://www.securecoding.cert.org/confluence/display/cplusplus/DCL50-CPP.+Do+not+define+a+C-style+variadic+function llvm-svn: 249343
* Revert r107690 (for PR7417) and add a testcase that it breaks. The approach ofRichard Smith2015-10-055-61/+18
| | | | | | | | | that change turns out to not be reasonable: mutating the AST of a parsed template during instantiation is not a sound thing to do, does not work across chained PCH / modules builds, and is in any case a special-case workaround to a more general problem that should be solved centrally. llvm-svn: 249342
* Adding an AST node matcher for NonTypeTemplateParmDecl objects.Aaron Ballman2015-10-053-1/+30
| | | | llvm-svn: 249341
* Create R_X86_64_RELATIVE when needed.Rafael Espindola2015-10-055-19/+92
| | | | | | | The dynamic relocation code needs refactoring, but it is probably better to do it with this test passing. llvm-svn: 249340
* [libcxx] Reexport std::bad_array_length symbols from libc++abi on OS X.Eric Fiselier2015-10-052-1/+11
| | | | | | | | | | | | | | | | | | | | | | Summary: On OS X libc++ needs to reexport libc++abi's symbols in order for them to be provided. We explicitly list the symbols to reexport it libcxx/lib/libc++abi2.exp. This patch adds the symbols required by std::bad_array_length which have been missing for some time. However there is a problem. std::bad_array_length was add to libc++abi in September of 2013 by commit r190479, about a year after everything else. Therefore I think older OS X version have libc++abi versions without std::bad_array_length. On those systems libc++ won't build with this change because we will try and export undefined symbols. The workaround I would write to support older systems depends on the amount of people who would need it. If only a small number of developers are affected it might be sufficient to provide a CMake switch like `LIBCPP_LIBCPPABI_HAS_BAD_ARRAY_LENGTH` which is ON by default and can be disabled by those who need it. Otherwise I think we should try to automatically detect if the symbols are present in `/usr/lib/libc++abi.dylib` and configure accordingly. I would prefer the first solution because writing CMake sucks. Reviewers: mclow.lists, aprantl Subscribers: aprantl, cfe-commits Differential Revision: http://reviews.llvm.org/D13445 llvm-svn: 249339
* [sanitizer] Enable lsan for AArch64Adhemerval Zanella2015-10-051-1/+1
| | | | llvm-svn: 249338
* [lsan] [aarch64] Add support for AArch64Adhemerval Zanella2015-10-055-5/+11
| | | | | | | | This patch add support for leak sanitizer for aarch64. Similar to MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64 currently supports 39 and 42-bit VMA). llvm-svn: 249337
* Re-introduce the unique_ptr removed in r249328 and just makeAdrian Prantl2015-10-052-5/+4
| | | | | | | | ~CodeGenABITypes out-of-line, which should have the same effect. Thanks to David Blaikie for pointing this out! llvm-svn: 249336
* Simplify code. No functionality change.Jakub Staszak2015-10-051-9/+2
| | | | llvm-svn: 249335
* Add comments about the issuesMarshall Clow2015-10-051-4/+42
| | | | llvm-svn: 249334
* Private page for status of Kona issues and papers. Will be deleted after the ↵Marshall Clow2015-10-051-0/+109
| | | | | | Kona meeting. Not to be linked to from other pages. llvm-svn: 249333
* ReleaseNotes: note the new Windows version requirementHans Wennborg2015-10-051-0/+3
| | | | llvm-svn: 249332
* [msan] Correct a typo in poison stack pattern command line description.Evgeniy Stepanov2015-10-051-1/+1
| | | | | | Patch by Jon Eyolfson. llvm-svn: 249331
* AMDGPU/SI: Add a helper for creating aliases for the _e32 instructionsTom Stellard2015-10-051-11/+49
| | | | | | | | | | | | | | | | | | Summary: We are currently only using these aliases for VOPC instructions, but this helper will make it easier to use them everywhere. These aliases allow for the automatic matching of instructions with forced 32-bit encoding. Eventually, we should be able to remove the custom C++ logic we have for this in the assembler. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D13396 llvm-svn: 249330
* Undo the unique_ptr'fication of CodeGenABITypes::CGM introduced in r248762.Adrian Prantl2015-10-052-1/+7
| | | | | | | | | | include/clang/CodeGenABITypes.h is in meant to be included by external users, but using a unique_ptr on the private CodeGenModule introduces a dependency on the type definition that prevents such a use. NFC llvm-svn: 249328
* MergeFunctions: Clear GlobalNumbers ValueMapArnold Schwaighofer2015-10-052-0/+58
| | | | | | | | | | | Otherwise, the map will observe changes as long as MergeFunctions is alive. This is bad because follow-up passes could replace-all-uses-with on the key of an entry in the map. The value handle callback of ValueMap however asserts that the key type matches. rdar://22971893 llvm-svn: 249327
* Don't copy STT_SECTION from the inputs.Rafael Espindola2015-10-054-4/+50
| | | | | | This matches the behavior of gold and bfd ld. llvm-svn: 249326
* Implement LWG#2063, and update the issues links to point to the github ↵Marshall Clow2015-10-054-213/+220
| | | | | | generated pages llvm-svn: 249325
* Remove an extra blank line.Igor Kudrin2015-10-051-1/+0
| | | | llvm-svn: 249324
* Include hidden and internal symbols in the regular symbol table.Rafael Espindola2015-10-056-24/+107
| | | | | | | This matches the behavior of bfd ld and gold. It is also convenient for testing other changes. llvm-svn: 249323
* [ARM] Modify codegen for memcpy intrinsic to prefer LDM/STM.Scott Douglass2015-10-0514-73/+520
| | | | | | | | | | | | | | | | | | | | | | | | | | | We were previously codegen'ing memcpy as regular load/store operations and hoping that the register allocator would allocate registers in ascending order so that we could apply an LDM/STM combine after register allocation. According to the commit that first introduced this code (r37179), we planned to teach the register allocator to allocate the registers in ascending order. This never got implemented, and up to now we've been stuck with very poor codegen. A much simpler approach for achieving better codegen is to create MEMCPY pseudo instructions, attach scratch virtual registers to them and then, post register allocation, expand the MEMCPYs into LDM/STM pairs using the scratch registers. The register allocator will have picked arbitrary registers which we sort when expanding the MEMCPY. This approach also avoids the need to repeatedly calculate offsets which ultimately ought to be eliminated pre-RA in order to decrease register pressure. Fixes PR9199 and PR23768. [This is based on Peter Collingbourne's r238473 which was reverted.] Differential Revision: http://reviews.llvm.org/D13239 Change-Id: I727543c2e94136e0f80b8e22d5642d7b9ee5b458 Author: Peter Collingbourne <peter@pcc.me.uk> llvm-svn: 249322
* Adding a narrowing AST matcher for FunctionDecl::isVariadic(), plus tests ↵Aaron Ballman2015-10-055-0/+41
| | | | | | and documentation. llvm-svn: 249321
* Make test resilient against windows path separators.Benjamin Kramer2015-10-051-0/+1
| | | | llvm-svn: 249320
* [VFS] Fix the windows build by including the right headers.Benjamin Kramer2015-10-051-0/+8
| | | | llvm-svn: 249319
* [VFS] Fix compilation on systems where time_t is not int64_t.Benjamin Kramer2015-10-051-4/+4
| | | | | | No functional change intended. llvm-svn: 249318
* [mips][microMIPS] Implement JALRC16, JRCADDIUSP and JRC16 instructionsZoran Jovanovic2015-10-0512-5/+127
| | | | | | Differential Revision: http://reviews.llvm.org/D11219 llvm-svn: 249317
* [VFS] Add working directories to every virtual file system.Benjamin Kramer2015-10-053-8/+100
| | | | | | | | | | | | For RealFileSystem this is getcwd()/chdir(), the synthetic file systems can make up one for themselves. OverlayFileSystem now synchronizes the working directories when a new FS is added to the overlay or the overlay working directory is set. This allows purely artificial file systems that have zero ties to the underlying disks. Differential Revision: http://reviews.llvm.org/D13430 llvm-svn: 249316
* [VFS] Add an in-memory file system implementation.Benjamin Kramer2015-10-054-11/+352
| | | | | | | | | | This is a simple file system tree of memory buffers that can be filled by a client. In conjunction with an OverlayFS it can be used to make virtual files accessible right next to physical files. This can be used as a replacement for the virtual file handling in FileManager and which I intend to remove eventually. llvm-svn: 249315
OpenPOWER on IntegriCloud