summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add missing error handling in llvm-ltoMehdi Amini2016-03-151-0/+1
| | | | | | | | | Annoyingly, ErrorOr allows to *not check* the error when things go well. It will crash badly when there is an error though. It should runtime assert when it is used without being checked! From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263577
* [ThinLTO] Record all global variable defs in the summaryTeresa Johnson2016-03-151-11/+10
| | | | | | | Record all variable defs with a summary record to aid in building a complete reference graph and locating constant variable defs to import. llvm-svn: 263576
* [ASan] Make sure unittest works if sized-delete is enabled by default.Alexey Samsonov2016-03-151-4/+10
| | | | llvm-svn: 263575
* Test commit - Remove some trailing whitespacePablo Barrio2016-03-151-1/+1
| | | | llvm-svn: 263574
* [MIR] Add a test case for the diagnostic of a wrongly typed generic instructionQuentin Colombet2016-03-151-0/+15
| | | | llvm-svn: 263573
* [AArch64] Move GlobalISel test cases into a GlobalISel subdirectoryQuentin Colombet2016-03-151-0/+0
| | | | llvm-svn: 263572
* [CMake] Updating Apple build configurationsChris Bieneman2016-03-151-1/+1
| | | | | | This updates Apple build configurations to adapt to r263566 & r263570, which added a PACKAGE_VENDOR variable. llvm-svn: 263571
* [CMake] Defaulting CLANG_VENDOR to PACKAGE_VENDORChris Bieneman2016-03-151-1/+1
| | | | | | LLVM r263566 adds a generic PACKAGE_VENDOR configuration which can be used to specify the vendor for LLVM toolchain tools. This change defaults the CLANG_VENDOR to the PACKAGE_VENDOR so that you don't have to specify both when building a package. llvm-svn: 263570
* ELF: Fix use-after-free problem.Rui Ueyama2016-03-153-12/+14
| | | | | | | | | Fixes pr26908. This patch is based on Filipe Cabecinhas' patch (http://reviews.llvm.org/D18167) http://reviews.llvm.org/D18169 llvm-svn: 263569
* Fix a bot I broke.Chris Bieneman2016-03-151-1/+4
| | | | | | The builtin library isn't added by the driver unless it exists, so we shouldn't check for it. I've marked this as a FIXME, because we probably should have a way to test this. llvm-svn: 263568
* [Driver] [Darwin] Fix linking libclang_rt.profile_*sim.aChris Bieneman2016-03-152-28/+8
| | | | | | | | | | | | Summary: isTarget*() calls are order-dependent. This is because iOS Sim *is* iOS. This means checks for the simulator version of the platform must always be ahead of checks for the embedded platform. Reviewers: zaks.anna, bogner Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17947 llvm-svn: 263567
* [CMake] Add PACKAGE_VENDOR for customizing version outputChris Bieneman2016-03-152-2/+9
| | | | | | | | | | | | Summary: This change adds a PACKAGE_VENDOR variable. When set it makes the version output more closely resemble the clang version output. Reviewers: aprantl, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18159 llvm-svn: 263566
* [LV] Preserve LoopInfo when store predication is usedAdam Nemet2016-03-154-12/+18
| | | | | | | | | | | | | | | | | This was a latent bug that got exposed by the change to add LoopSimplify as a dependence to LoopLoadElimination. Since LoopInfo was corrupted after LV, LoopSimplify mis-compiled nbench in the test-suite (more details in the PR). The problem was that when we create the blocks for predicated stores we didn't add those to any loops. The original testcase for store predication provides coverage for this assuming we verify LI on the way out of LV. Fixes PR26952. llvm-svn: 263565
* [MC] Rename TLSDESC as it's not ARM specific.Davide Italiano2016-03-153-4/+4
| | | | | | Similarly to what was done for TLSCALL in r263515. llvm-svn: 263564
* AMDGPU/SI: Implement GroupStaticSize Intrinsic for Dynamic LDSChangpeng Fang2016-03-154-2/+79
| | | | | | | | | | | | | | | | | | | Summary: Static LDS size is saved in MachineFunctionInfo::LDSSize, We define a pseudo instruction with usesCustomInserter bit set. Then, in EmitInstrWithCustomInserter, we replace this pseudo instruction with a mov of MachineFunctionInfo::LDSSize. Reviewers: arsenm tstellarAMD Subscribers llvm-commits, arsenm Differential Revision: http://reviews.llvm.org/D18064 llvm-svn: 263563
* [llvm-readobj] Impl GNU style printing of sections and relocationsHemant Kulkarni2016-03-155-269/+709
| | | | | | Differential Revision: http://reviews.llvm.org/D17523 llvm-svn: 263561
* [COFF] Don't trust a symbol's section numberDavid Majnemer2016-03-152-3/+13
| | | | | | | | | This fixes a test which exposed an ASan issue. We assumed that a symbol's section number had a corresponding section without performing validation. llvm-svn: 263558
* Myriad: Add new sparc CPU kinds.Douglas Katzman2016-03-151-0/+3
| | | | llvm-svn: 263557
* Myriad: Pass -mcpu to movi{Compile,Asm}Douglas Katzman2016-03-152-10/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D18186 llvm-svn: 263556
* Reverted http://reviews.llvm.org/D17877 to fix tests.Arpith Chacko Jacob2016-03-155-1053/+6
| | | | llvm-svn: 263555
* [libcxx] Remove localization tests for Russian month namesJonas Hahnfeld2016-03-152-34/+0
| | | | | | | | | | | | | | Commit f49839299a085505eb673544744b61d2d9cdd1db in glibc-2.14 changed the locales to the currently required format. However, they were again changed in commit 55bdd2866f23b28422d969060b3518909a12b100 which has been released in 2.17. That leads to the current situation where Debian and e.g. CentOS 6 have the pre-2.14 locales, for example Ubuntu 14.04 has pre-2.17 and CentOS 7 on the other hand has the newest locales in glibc-2.17. Differential Revision: http://reviews.llvm.org/D18187 llvm-svn: 263554
* Revert r263551 due to a test failure.Kuba Brecka2016-03-153-64/+0
| | | | llvm-svn: 263553
* [OpenMP] Base support for target directive codegen on NVPTX device.Arpith Chacko Jacob2016-03-155-6/+1053
| | | | | | | | | | | Summary: This patch adds base support for codegen of the target directive on the NVPTX device. Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D17877 llvm-svn: 263552
* [sanitizer] On OS X, verify that interceptors work and abort if notKuba Brecka2016-03-153-0/+64
| | | | | | | | On OS X 10.11+, we have "automatic interceptors", so we don't need to use DYLD_INSERT_LIBRARIES when launching instrumented programs. However, non-instrumented programs that load TSan late (e.g. via dlopen) are currently broken, as TSan will still try to initialize, but the program will crash/hang at random places (because the interceptors don't work). This patch adds an explicit check that interceptors are working, and if not, it aborts and prints out an error message suggesting to explicitly use DYLD_INSERT_LIBRARIES. Differential Revision: http://reviews.llvm.org/D18121 llvm-svn: 263551
* [GlobalOpt] Don't look through aliases when sorting names of globals.Benjamin Kramer2016-03-152-3/+4
| | | | | | | If both are different aliases to the same value the sorting becomes non-deterministic as array_pod_sort is not stable. llvm-svn: 263550
* Error/warning/log messages should start with lowercase letters.George Rimar2016-03-1516-23/+23
| | | | llvm-svn: 263549
* [SLP] Update comment to reflect reality. NFC.Chad Rosier2016-03-151-2/+2
| | | | llvm-svn: 263548
* Add regression test for expressions calling functions taking anonymous ↵Ewan Crawford2016-03-153-0/+78
| | | | | | | | | | | | struct typedef arguments This CL adds a regression test for the bug listed at https://llvm.org/bugs/show_bug.cgi?id=26790 Functionality was implemented in commit r263544 Author: Luke Drummond <luke.drummond@codeplay.com> Differential Revision: http://reviews.llvm.org/D17777 llvm-svn: 263547
* Make it possible for AST plugins to enable themselves by defaultJohn Brawn2016-03-1510-34/+158
| | | | | | | | | | | | Currently when an AST plugin is loaded it must then be enabled by passing -plugin pluginname or -add-plugin pluginname to the -cc1 command line. This patch adds a method to PluginASTAction which allows it to declare that the action happens before, instead of, or after the main AST action, plus the relevant changes to make the plugin action happen at that time automatically. Differential Revision: http://reviews.llvm.org/D17959 llvm-svn: 263546
* Fix expression evaluation for resolving anonymous aggregrate types with a ↵Ewan Crawford2016-03-151-0/+14
| | | | | | | | | | | | | | | | | typedefed name This fixes a recently reported a bug(https://llvm.org/bugs/show_bug.cgi?id=26790) relating to the clang expression evaluator no longer being able to resolve calls to functions with arguments to typedefed anonymous structs, unions, or enums after a cleanup to the expression parsing code in r260768 This fixes the issue by attaching the tagged name to the original clang::TagDecl object when generating the typedef in lldb::ClangAstContext::CreateTypeDef. This also fixes the issue for anonymous typedefs for non-struct types (unions and enums) where we have a tag name. Author: Luke Drummond <luke.drummond@codeplay.com> Differential Revision: http://reviews.llvm.org/D18099 llvm-svn: 263544
* [COFF] Don't hard-code the load configuration sizeDavid Majnemer2016-03-155-8/+50
| | | | | | | | | | | | | | | | | | | | | The load configuration directory is a structure whose size varies as the OS gains additional functionality. To account for this, the structure's layout begins with a size field; this allows loaders to know which fields are available. However, LLD hard-coded the sizes (112 bytes for 64-bit and 64 for 32-bit). This means that we might not inform the loader of all the pertinent fields or we might claim that there are more fields than are actually present. To correctly account for this, the size field must be loaded from the _load_config_used symbol. N.B. The COFF spec is either wrong or out of date, the load configuration directory is not correctly documented in the specification: it omits the size field. llvm-svn: 263543
* [COFF] Remove an unused function, getFileOffDavid Majnemer2016-03-152-30/+0
| | | | | | | The function was not used and was not functional: all paths would lead to report_fatal_error or endless stack recursion. llvm-svn: 263542
* Restrict the hack from r263429 to asan and msan.Benjamin Kramer2016-03-151-2/+4
| | | | | | | The other sanitizers don't have backend passes that rely on value names. Avoid paying the compile time cost of names there. llvm-svn: 263541
* [AMDGPU] Assembler: Update SOP* testsNikolay Haustov2016-03-155-206/+353
| | | | | | | | | Add VI encodings. Reformat sopp.s to match style of other files. Differential Revision: http://reviews.llvm.org/D18084 llvm-svn: 263540
* [COFF] Use the correct size of the TLS directoryDavid Majnemer2016-03-152-2/+4
| | | | | | | | | The TLS directory has a different layout depending on the bitness of the machine the image will run on. LLD would always use the 64-bit TLS directory for the data directory entry instead of an appropriately sized TLS directory. llvm-svn: 263539
* MemAccInt: Do not strip pointer castsTobias Grosser2016-03-151-1/+1
| | | | | | | | | | | | | | This mirrors: commit https://llvm.org/svn/llvm-project/llvm/trunk@263462 Author: Michael Kuperstein <michael.kuperstein@gmail.com> Date: Mon Mar 14 18:34:29 2016 +0000 [AliasSetTracker] Do not strip pointer casts when processing MemSetInst and fixes the failure the above commit triggered in Polly. llvm-svn: 263538
* [llvm-objdump] Add support for dumping the PE TLS directoryDavid Majnemer2016-03-154-0/+80
| | | | | | | | The PE TLS directory contains information about where the TLS data resides in the image, what functions should be executed when threads are created, etc. llvm-svn: 263537
* [llgo] Roll gofrontend forwardAndrew Wilkins2016-03-151071-30960/+90178
| | | | | | | | | | | | | | | | | Switch gofrontend to using go.googlesource.com, and update to 81eb6a3f425b2158c67ee32c0cc973a72ce9d6be. There are various changes required to update to the go 1.5 runtime: typemap.go is changed to accommodate the change in representation for equal/hash algorithms, and the removal of the zero value/type. CMakeLists.txt is updated to add the build tree to the package search path, so internal packages, which are not installed, are found. various files changes due to removal of __go_new_nopointers; the same change as in D11863, but with NoUnwindAttribute added to the added runtime functions which are called with "callOnly". minor cleanups in ssa.go while investigating issues with unwinding/panic handling. Differential Revisision: http://reviews.llvm.org/D15188 llvm-svn: 263536
* bindings/go: reinstate TargetMachine.TargetDataAndrew Wilkins2016-03-151-0/+7
| | | | | | | | | | | | | | | | Summary: LLVMGetTargetDataLayout was removed from the C API, and then TargetMachine.TargetData was removed. Later, LLVMCreateTargetMachineData was added to the C API, and we now expose this via the Go API. Reviewers: deadalnix, pcc Subscribers: cierniak, llvm-commits, axw Differential Revision: http://reviews.llvm.org/D18173 llvm-svn: 263530
* Bump the lldb version # in the xcode project files fromJason Molenda2016-03-153-48/+48
| | | | | | 350.99.0 to 360.99.0. llvm-svn: 263529
* [MachO] Extend the alt_entry support for aliases added in r263521 toLang Hames2016-03-152-27/+52
| | | | | | expressions of the form 'a = .' and 'a = Ltmp'. llvm-svn: 263528
* Use some braces to format this a little better.Eric Christopher2016-03-151-5/+9
| | | | llvm-svn: 263527
* BitcodeWriter dyn_cast cleanup for r263275 (NFC)Teresa Johnson2016-03-151-8/+5
| | | | | | | Address review suggestions from dblaikie: change a few dyn_cast to cast and fold a cast into if condition. llvm-svn: 263526
* Fix llvm/llvm/lib/Transforms/Utils/LoopUnroll.cpp:285:53: error: suggestEric Christopher2016-03-151-11/+9
| | | | | | parentheses around '&&' within '||' [-Werror=parentheses]. llvm-svn: 263525
* Move global ID computation from Function to GlobalValue (NFC)Teresa Johnson2016-03-158-55/+55
| | | | | | | | Since the static getGlobalIdentifier and getGUID methods are now called for global values other than functions, reflect that by moving these methods to the GlobalValue class. llvm-svn: 263524
* Workaround the fact that "b" is now a separate command object from ↵Enrico Granata2016-03-152-6/+6
| | | | | | | | | | "_regexp-break", and thus "help b" doesn't show the possible syntaxes It would be nice to have a longer-term plan for how to handle help for regular expression commands, since their syntax is highly irregular. I can see a few options (*), but for now this is a reasonable stop-gag measure for the most blatant regression. (*) the simplest is, of course, to detect a regex command and inherit the syntax for any aliases thereof; it would be nice if this also didn't show the underlying regex command name when the alias is used llvm-svn: 263523
* DenseMap: make .resize() do the intuitive thingFiona Glaser2016-03-152-1/+18
| | | | | | | | | | | | | | | | | | | In some places, like InstCombine, we resize a DenseMap to fit the elements we intend to put in it, then insert those elements (to avoid continual reallocations as it grows). But .resize(foo) doesn't actually do what people think; it resizes to foo buckets (which is really an implementation detail the user of DenseMap probably shouldn't care about), not the space required to fit foo elements. DenseMap grows if 3/4 of its buckets are full, so this actually causes one forced reallocation every time instead of avoiding a reallocation. This patch makes .resize(foo) do the intuitive thing: it grows to the size necessary to fit foo elements without new allocations. Also include a test to verify that .resize() actually does what we think it does. llvm-svn: 263522
* [MachO] Add MachO alt-entry directive support.Lang Hames2016-03-1517-15/+147
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MachO .alt_entry assembly directive, and uses it for global aliases with non-zero GEP offsets. The alt_entry flag indicates that a symbol should be layed out immediately after the preceding symbol. Conceptually it introduces an alternate entry point for a function or data structure. E.g.: safe_foo: // check preconditions for foo .alt_entry fast_foo fast_foo: // body of foo, can assume preconditions. The .alt_entry flag is also implicitly set on assembly aliases of the form: a = b + C where C is a non-zero constant, since these have the same effect as an alt_entry symbol: they introduce a label that cannot be moved relative to the preceding one. Setting the alt_entry flag on aliases of this form fixes http://llvm.org/PR25381. llvm-svn: 263521
* Add some test coverage for the changes in alias helpEnrico Granata2016-03-151-0/+18
| | | | llvm-svn: 263520
* Improve the way we decide whether an alias is a dashdash aliasEnrico Granata2016-03-151-1/+2
| | | | llvm-svn: 263519
OpenPOWER on IntegriCloud