summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ThinLTO: do not import function whose linkage prevents inlining.Mehdi Amini2016-05-024-22/+38
| | | | | | | | | | | There is not point in importing a "weak" or a "linkonce" function since we won't be able to inline it anyway. We already had a targeted check for WeakAny, this is using the same check on GlobalValue as the inline, i.e. isMayBeOverriddenLinkage() From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268315
* [CodeGenObjCXX] Don't rematerialize default arguments of functionAkira Hatanaka2016-05-022-0/+21
| | | | | | | | | | | | | | | | | | | | | | parameters in the body of a block. This fixes a bug where clang would materialize the default argument inside the body of a block instead of passing the value via the block descriptor. For example, in the code below, foo1 would always print 42 regardless of the value of argument "a" passed to foo1. void foo1(const int a = 42 ) { auto block = ^{ printf("%d\n", a); }; block(); } rdar://problem/24449235 llvm-svn: 268314
* Fix llvm-size to exit with non zero when it can’t open a file.Kevin Enderby2016-05-022-2/+6
| | | | | | rdar://26027819 llvm-svn: 268313
* Remove redundant return, NFCVedant Kumar2016-05-021-1/+0
| | | | llvm-svn: 268312
* Fix a typo, NFCVedant Kumar2016-05-021-1/+1
| | | | llvm-svn: 268311
* Teach Undefined symbols from which file they are created from.Rui Ueyama2016-05-024-19/+31
| | | | | | | | | This patch increases the size of Undefined by the size of a pointer, but it wouldn't actually increase the size of memory that LLD uses because we are not allocating the exact size but the size of the largest SymbolBody. llvm-svn: 268310
* Fix an issue where the apropos command would not print fully qualified ↵Enrico Granata2016-05-022-1/+23
| | | | | | | | command names for nested command objects rdar://problem/26020072 llvm-svn: 268309
* Revert "Temporary hack to see what is going on on a windows bot."Rafael Espindola2016-05-021-1/+0
| | | | | | This reverts commit r268302. llvm-svn: 268308
* Import block pointers from DWARF as Clang block pointers, not as structs.Sean Callanan2016-05-0216-5/+450
| | | | | | | | | Also added a data formatter that presents them as structs if you use frame variable to look at their contents. Now the blocks testcase works. <rdar://problem/15984431> llvm-svn: 268307
* [X86][SSE] Added placeholder for 128/256-bit wide shuffle combinesSimon Pilgrim2016-05-021-6/+14
| | | | | | Begun adding placeholder for future support for vperm2f128/vshuff64x2 style 128/256-bit wide shuffles llvm-svn: 268306
* Don't try to create thin bsd archives.Rafael Espindola2016-05-023-1/+9
| | | | | | Not such variant has been specified yet. llvm-svn: 268305
* [dsymutil] Create the temporary files in the system temp directory.Frederic Riss2016-05-022-6/+7
| | | | | | | | | | llvm-dsymutil used to create the temporary files in the output directory. This works fine except when the output directory contains a '%' char, which is then replaced by llvm::sys::fs::createUniqueFile() generating an invalid path. Just use the default temp dir for those files. llvm-svn: 268304
* Add more debug logging to g_get_shared_cache_class_info_bodyEnrico Granata2016-05-021-1/+14
| | | | llvm-svn: 268303
* Temporary hack to see what is going on on a windows bot.Rafael Espindola2016-05-021-0/+1
| | | | llvm-svn: 268302
* Code refactoring -- preparation for new PM porting /NFCXinliang David Li2016-05-021-9/+19
| | | | llvm-svn: 268301
* [codeview] Isolate type dumping from object file stateReid Kleckner2016-05-021-18/+38
| | | | | | | | | | | | | | This isolates the state we use for type dumping from the knowledge of object files. We can use CVTypeDumper to dump types from anywhere in memory now. NFC Reviewers: zturner Differential Revision: http://reviews.llvm.org/D19824 llvm-svn: 268300
* [CUDA] Make sure device-side __global__ functions are always visible.Artem Belevich2016-05-022-8/+24
| | | | | | | | | | | | __global__ functions are a special case in CUDA. Even when the symbol would normally not be externally visible according to C++ rules, they still must be visible in CUDA GPU object so host-side stub can launch them. Differential Revision: http://reviews.llvm.org/D19748 llvm-svn: 268299
* Thread Expected<...> up from libObject’s getType() for symbols to allow ↵Kevin Enderby2016-05-0226-106/+229
| | | | | | | | | | | | | | | | | | | | | | llvm-objdump to produce a good error message. Produce another specific error message for a malformed Mach-O file when a symbol’s section index is more than the number of sections. The existing test case in test/Object/macho-invalid.test for macho-invalid-section-index-getSectionRawName now reports the error with the message indicating that a symbol at a specific index has a bad section index and that bad section index value. Again converting interfaces to Expected<> from ErrorOr<> does involve touching a number of places. Where the existing code reported the error with a string message or an error code it was converted to do the same. Also there some were bugs in the existing code that did not deal with the old ErrorOr<> return values.  So now with Expected<> since they must be checked and the error handled, I added a TODO and a comment: "// TODO: Actually report errors helpfully" and a call something like consumeError(NameOrErr.takeError()) so the buggy code will not crash since needed to deal with the Error. llvm-svn: 268298
* Revert "[Driver] Quote clang full version in dwarf producer when invoking cc1as"Bruno Cardoso Lopes2016-05-022-4/+1
| | | | | | | | | | | | | | This reverts commit r264813 / 6484b95d634f53dd929c75265ef3c4decf397584. While using it in the shell is fine, this a problem when cc1as is invoked directly by the driver because single quoting the clang full version makes cc1as write out the version with the quotes in the final binary. If the user wants to copy-n-pastable output, it could use either -### or CC_PRINT_OPTIONS=1 clang -v ... llvm-svn: 268297
* AMDGPU: Custom lower v2i32 loads and storesMatt Arsenault2016-05-022-8/+137
| | | | | | | This will allow us to split up 64-bit private accesses when necessary. llvm-svn: 268296
* AMDGPU/SI: Use v_readfirstlane_b32 when restoring SGPRs spilled to scratchTom Stellard2016-05-022-3/+2
| | | | | | | | | We were using v_readlane_b32 with the lane set to zero, but this won't work if thread 0 is not active. Differential Revision: http://reviews.llvm.org/D19745 llvm-svn: 268295
* Cleanup warnings and remove use of __builtin_va_list in depr.c.headersEric Fiselier2016-05-025-20/+9
| | | | llvm-svn: 268294
* AMDGPU: Make i64 loads/stores promote to v2i32Matt Arsenault2016-05-026-73/+26
| | | | | | | | | | | | Now that unaligned access expansion should not attempt to produce i64 accesses, we can remove the hack in PreprocessISelDAG where this is done. This allows splitting i64 private accesses while allowing the new add nodes indexing the vector components can be folded with the base pointer arithmetic. llvm-svn: 268293
* Remove unnecessary namespace specifiers.Rui Ueyama2016-05-022-4/+4
| | | | llvm-svn: 268292
* [LVI] Add an API to LazyValueInfo so that it can export ConstantRangesJohn Regehr2016-05-022-0/+22
| | | | | | | | | that it computes. Currently this is used for testing and precision tuning, but it might be used by optimizations later. Differential Revision: http://reviews.llvm.org/D19179 llvm-svn: 268291
* [X86][AVX2] Added 128-bit wide shuffle testSimon Pilgrim2016-05-021-0/+14
| | | | | | Demonstrate missing 128-bit wide shuffle combine support llvm-svn: 268290
* Fix instance of -Winconsistent-missing-override in AMDGPU codeReid Kleckner2016-05-021-1/+1
| | | | llvm-svn: 268289
* Revert "[SimplifyCFG] Extend TryToSimplifyUncondBranchFromEmptyBlock for ↵Reid Kleckner2016-05-025-418/+59
| | | | | | | | | | | empty block including lifetime intrinsics" This reverts commit r268254. This change causes assertion failures while building Chromium. Reduced test case coming soon. llvm-svn: 268288
* AMDGPU/SI: Set the kill flag on temp VGPRs used to restore SGPRs from scratchTom Stellard2016-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Summary: When we restore an SGPR value from scratch, we first load it into a temporary VGPR and then use v_readlane_b32 to copy the value from the VGPR back into an SGPR. We weren't setting the kill flag on the VGPR in the v_readlane_b32 instruction, so the register scavenger wasn't able to re-use this temp value later. I wasn't able to create a lit test for this. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19744 llvm-svn: 268287
* Do not pass Symtab to markLive/doICF since Symtab is globally accessible.Rui Ueyama2016-05-025-31/+27
| | | | llvm-svn: 268286
* Initialize local doubles to NaN. Patch from STL@microsoft.comEric Fiselier2016-05-022-28/+30
| | | | llvm-svn: 268285
* Void cast runtime-unused variables. Patch from STL@microsoft.comEric Fiselier2016-05-0223-15/+69
| | | | llvm-svn: 268284
* [compiler-rt] adjust platform_limits_linux.cc #include of posix_typesKostya Serebryany2016-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Hello, Building a recent gcc on a powerpc-linux system advertsing: Red Hat Enterprise Linux Server release 5.10 (Tikanga) we stumbled on a compilation error on a file originating from compiler-rt/lib/sanitizer-common. sanitizer_platform_limits_linux.cc #includes asm/posix_types.h, which, on our system, uses __kernel_fd_set and associated macros. These aren't defined at the point of their use, and the compilation fails with symptoms like: In file included from ../../../../src/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:29:0: /usr/include/asm/posix_types.h:72:51: error: '__kernel_fd_set' has not been declared static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp) ... The attached patch is a suggestion to fix this, by including linux/posix_types.h instead of asm/posix_types.h. linux/posix_types defines the necessary types and macros, then #includes asm/posix_types.h. We have been using it locally for gcc without problems for a couple of years on powerpc, x86 and x86_64-linux platforms. It is still needed for gcc-6 on our powerpc host and applies cleanly on the compiler-rt trunk. Comments ? Thanks much in advance for your feedback, With Kind Regards, Olivier Reviewers: llvm-commits, kcc Subscribers: kcc, kubabrecka Differential Revision: http://reviews.llvm.org/D19799 llvm-svn: 268283
* [scan-build] fix logic error warning emitted on compiler-rt code baseKostya Serebryany2016-05-021-0/+1
| | | | | | | | | | | | | | | | | Summary: Fix a "called c++ object pointer is null" warning emitted by Clang Static Analyzer on the following file: - lib/asan/asan_suppressions.cc. Signed-off-by: Apelete Seketeli <apelete@seketeli.net> Reviewers: kcc Subscribers: Eugene.Zelenko, kubabrecka, llvm-commits Differential Revision: http://reviews.llvm.org/D19627 llvm-svn: 268282
* Fix typosPiotr Padlewski2016-05-021-1/+1
| | | | llvm-svn: 268281
* Typo. NFC.Chad Rosier2016-05-021-1/+1
| | | | llvm-svn: 268280
* Use false rather than 0 for a boolean value. NFC.Chad Rosier2016-05-021-1/+1
| | | | llvm-svn: 268279
* Remove unnecessary namespace specifiers.Rui Ueyama2016-05-021-8/+8
| | | | llvm-svn: 268278
* Fix build breakage due to implicit conversion.Zachary Turner2016-05-021-1/+2
| | | | llvm-svn: 268277
* ARM: fix handling of SUB immediates in peephole opt.Tim Northover2016-05-023-12/+149
| | | | | | | | | | | We were negating an immediate that was going to be used in a SUBri form unnecessarily. Since ADD/SUB are very similar we *can* do that, but we have to change the SUB to an ADD at the same time. This also applies to ADD, and allows us to handle a slightly larger range of immediates for those two operations. rdar://25992245 llvm-svn: 268276
* Attempt to fix Windows bots.Rui Ueyama2016-05-022-3/+3
| | | | llvm-svn: 268275
* Add an argument to ValueObject::GetSyntheticBase that allows for name ↵Enrico Granata2016-05-022-5/+14
| | | | | | customization on the generated value llvm-svn: 268274
* Fix --reproduce for --export-dynamic-symbol.Rui Ueyama2016-05-022-3/+6
| | | | | | --export-dynamic-symbol doesn't take path. llvm-svn: 268273
* [NVPTX] Fix sign/zero-extending ldg/ldu instruction selectionJustin Holewinski2016-05-024-48/+111
| | | | | | | | | | | | | | | | | Summary: We don't have sign-/zero-extending ldg/ldu instructions defined, so we need to emulate them with explicit CVTs. We were originally handling the i8 case, but not any other cases. Fixes PR26185 Reviewers: jingyue, jlebar Subscribers: jholewinski Differential Revision: http://reviews.llvm.org/D19615 llvm-svn: 268272
* [codeview] Don't dump type stream bytes unless asked toReid Kleckner2016-05-021-1/+2
| | | | llvm-svn: 268271
* PDB - Instead of hardcoding stream numbers, use an enum.Zachary Turner2016-05-023-12/+24
| | | | llvm-svn: 268270
* [CFLAA] Fix a use-of-invalid-pointer bug.George Burgess IV2016-05-021-1/+6
| | | | | | | | | | | | As shown in the diff, we used to add to CFLAA's cache by doing `Cache[Fn] = buildSetsFrom(Fn)`. `buildSetsFrom(Fn)` may cause `Cache` to reallocate its underlying storage, if this happens and `Cache[Fn]` was evaluated prior to `buildSetsFrom(Fn)`, then we'll store the result to a bad address. Patch by Jia Chen. llvm-svn: 268269
* Parse PDB Name Hash TableZachary Turner2016-05-0210-25/+231
| | | | | | | | | | | | | PDB has a lot of similar data structures. We already have code for parsing a Name Map, but PDB seems to have a different but very similar structure that is a hash table. This is the beginning of code needed in order to parse the name hash table, but it is not yet complete. It parses the basic metadata of the hash table, the bucket array, and the names buffer, but doesn't use any of these fields yet as the data structure requires a non-trivial amount of work to understand. llvm-svn: 268268
* AMDGPU: Move R600 specific code out of AMDGPUISelLowering.cppTom Stellard2016-05-023-39/+51
| | | | | | | | | | Reviewers: arsenm Subscribers: jvesely, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19736 llvm-svn: 268267
* ReversePostOrderFunctionAttrs is not modifying the call graph, let's ↵Mehdi Amini2016-05-021-0/+1
| | | | | | | | | | preserve it. When running cc1 with -flto=thin, it is followed by GlobalOpt, which requires the callgraph. This saves rebuilding one. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268266
OpenPOWER on IntegriCloud