summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* builtins: tweak Windows buildSaleem Abdulrasool2015-10-061-2/+2
| | | | | | | | Include Windows.h instead of winbase.h and windef.h Patch by Tee Hao Wei! llvm-svn: 249373
* Add comments for LWG issues 2219 and 2367Eric Fiselier2015-10-061-2/+2
| | | | llvm-svn: 249372
* [bpf] Avoid extra pointer arithmetic for stack accessAlexei Starovoitov2015-10-064-7/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For the program like below struct key_t { int pid; char name[16]; }; extern void test1(char *); int test() { struct key_t key = {}; test1(key.name); return 0; } For key.name, the llc/bpf may generate the below code: R1 = R10 // R10 is the frame pointer R1 += -24 // framepointer adjustment R1 |= 4 // R1 is then used as the first parameter of test1 OR operation is not recognized by in-kernel verifier. This patch introduces an intermediate FI_ri instruction and generates the following code that can be properly verified: R1 = R10 R1 += -20 Patch by Yonghong Song <yhs@plumgrid.com> llvm-svn: 249371
* [X86] Teach constant hoisting that ANDs with 64-bit immediates in the range ↵Craig Topper2015-10-062-1/+26
| | | | | | | | 0x80000000-0xffffffff can be handled cheaply and don't need to be hoisted. Most importantly, this keeps constant hoisting from preventing instruction selections ability to turn an AND with 0xffffffff into a move into a 32-bit subregister. llvm-svn: 249370
* [X86] Remove unnecessary AddComplexity directive. The instruction is already ↵Craig Topper2015-10-061-1/+0
| | | | | | wrapped in the equivalent earlier. NFC llvm-svn: 249369
* [elf2] Address style comments.Michael J. Spencer2015-10-061-8/+7
| | | | llvm-svn: 249368
* [elf2] Add __preinit_array, and __fini_array start and end symbols.Michael J. Spencer2015-10-064-31/+101
| | | | llvm-svn: 249367
* Introduce a FormattersMatchData class which contains all the information ↵Enrico Granata2015-10-069-195/+236
| | | | | | | | that data formatters need in one place, and also allows for lazy computation of expensive chunks of information if need be This is a NFC commit that is essentially plumbing the new currency through the system llvm-svn: 249366
* [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
OpenPOWER on IntegriCloud