summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't fold double constant to an integer if dest type not integralTeresa Johnson2016-04-042-0/+16
| | | | | | | | | | | | | | Summary: I encountered this issue when constant folding during inlining tried to fold away a bitcast of a double to an x86_mmx, which is not an integral type. The test case exposes the same issue with a smaller code snippet during early CSE. Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18528 llvm-svn: 265367
* [tsan] Disable randomized address space on aarch64 linux.Yabin Cui2016-04-041-0/+15
| | | | | | | | | | | | | | | | | Summary: After patch https://lkml.org/lkml/2015/12/21/340 is introduced in linux kernel, the random gap between stack and heap is increased from 128M to 36G on 39-bit aarch64. And it is almost impossible to cover this big range. So we need to disable randomized virtual space on aarch64 linux. Reviewers: llvm-commits, zatrazz, dvyukov, rengolin Subscribers: aemerson, rengolin, tberghammer, danalbert, srhines Differential Revision: http://reviews.llvm.org/D18526 llvm-svn: 265366
* Lanai: fix -Wpedantic warningsJF Bastien2016-04-042-2/+2
| | | | | | Extra semicolon. llvm-svn: 265365
* Move local helper class into anonymous namespace.Richard Smith2016-04-041-0/+2
| | | | llvm-svn: 265364
* Remove unused internal routines. No functional changeMarshall Clow2016-04-041-28/+0
| | | | llvm-svn: 265363
* Fix test failure from r265361Reid Kleckner2016-04-041-1/+1
| | | | llvm-svn: 265362
* Fix non-determinism in order of LLVM attributesReid Kleckner2016-04-042-2/+15
| | | | | | | | | | | | | | | | | | We were using array_pod_sort on an array of type 'Attribute', which wraps a pointer to AttributeImpl. For the most part this didn't matter because the printing code prints enum attributes in a defined order, but integer attributes such as 'align' and 'dereferenceable' were not ordered. Furthermore, AttributeImpl::operator< was broken for integer attributes. An integer attribute is a kind and an integer value, and both pieces need to be compared. By fixing the comparison operator, we can go back to std::sort, and things look good now. This should fix clang arm-swiftcall.c test failures on Windows. llvm-svn: 265361
* use range loop; NFCISanjay Patel2016-04-041-3/+3
| | | | llvm-svn: 265360
* Set the default C standard to C99 when targeting the PS4.Sunil Srivastava2016-04-043-3/+11
| | | | | | | | Patch by Douglas Yung! Differential Revision: http://reviews.llvm.org/D18708 llvm-svn: 265359
* Put back the undefs that Richard removed. Boost won't build w/o these; ↵Marshall Clow2016-04-041-0/+57
| | | | | | specifically the file 'bytes_methods.h' in Apple's python framework defines these. llvm-svn: 265358
* Improve the way LLDB escapes arguments before passing them to the shellEnrico Granata2016-04-046-7/+45
| | | | | | | | | | | | | Teach LLDB that different shells have different characters they are sensitive to, and use that knowledge to do shell-aware escaping This helps solve a class of problems on OS X where LLDB would try to launch via sh, and run into problems if the command line being passed to the inferior contained such special markers (hint: the shell would error out and we'd fail to launch) This makes those launch scenarios work transparently via shell expansion Slightly improve the error message when this kind of failure occurs to at least suggest that the user try going through 'process launch' directly Fixes rdar://problem/22749408 llvm-svn: 265357
* fix typos; NFCSanjay Patel2016-04-041-2/+2
| | | | llvm-svn: 265356
* Fix "suggest parentheses" warning.James Y Knight2016-04-041-3/+3
| | | | llvm-svn: 265355
* ELF: Create dynamic symbols for symbol aliases of copy relocations.Peter Collingbourne2016-04-044-23/+115
| | | | | | | | | | | | | | | For each copy relocation that we create, look through the DSO's symbol table for aliases and create a dynamic symbol for each one. This causes the copy relocation to correctly interpose any aliases. Copy relocations are relatively uncommon (on my machine, 56% of binaries in /usr/bin have no copy relocations probably due to being PIEs, 97% of them have <10, and the binary with the largest number of them has 97) so it's probably fine to do this in a relatively inefficient way. Differential Revision: http://reviews.llvm.org/D18731 llvm-svn: 265354
* Style update in Core.h/Core.cpp . NFCAmaury Sechet2016-04-042-4/+4
| | | | llvm-svn: 265353
* Revert "CodeGen: Remove dead code in TailDuplicate"Justin Bogner2016-04-041-14/+58
| | | | | | | | | | | It seems this is reachable after all. It hit on 7zip-benchmark in lnt on ppc64: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/2317 This reverts r265347. llvm-svn: 265352
* MachineScheduler: Ignore COPYs with undef/dead op in CopyConstrain mutation.Matthias Braun2016-04-041-4/+6
| | | | | | | | There is no problem with the code today, but the fix will avoid a crash in test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll once the DetectDeadLanes pass is added. llvm-svn: 265351
* test: Always treat .mir files as tests even outside of CodeGen/MIRMatthias Braun2016-04-045-4/+4
| | | | | | | | | We missed a handful of .mir tests that existed outside the test/CodeGen/MIR directory. Also fix the three powerpc .mir tests that nobody noticed were broken. llvm-svn: 265350
* Implement `target modules dump objfile`Adrian McCarthy2016-04-042-6/+122
| | | | | | Differential Revision: http://reviews.llvm.org/D18464 llvm-svn: 265349
* Clean up calls to WriteBitcodeToFile (NFC)Teresa Johnson2016-04-042-2/+2
| | | | | | | | | | | Remove a default parameter value being passed unnecessarily, which also reduces the changes required when this parameter is changed in D18763. Document the remaining non-default bool value passed for another parameter. llvm-svn: 265348
* CodeGen: Remove dead code in TailDuplicateJustin Bogner2016-04-041-58/+14
| | | | | | | | | | | | | | | | I noticed that this isn't covered by our existing tests and spent some time trying to come up with an example it actually hits. I tried hand rolling something based on the explanation in the comment, but couldn't get anything that didn't abort tail duplication earlier for one reason or another. Then, I tried cranking tail-dup-size cranked up so this would fire more and ran a bootstrap of clang and the nightly test suite - those don't hit this either. This reverts r132816 and replaces it with an assert. llvm-svn: 265347
* clang-format llvm-as.cpp (NFC)Teresa Johnson2016-04-041-16/+17
| | | | | | | This reduces unrelated changes in other patches (such as D18763) when changes to this file are clang formatted. llvm-svn: 265346
* Re-commit r265039 "[X86] Merge adjacent stack adjustments in ↵Hans Wennborg2016-04-049-31/+103
| | | | | | | | | | | | | | | | | | | | eliminateCallFramePseudoInstr (PR27140)" The original commit miscompiled things on 32-bit Windows, e.g. a Clang boostrap. It turns out that mergeSPUpdates() was a bit too generous in what it interpreted as a stack adjustment, causing the following code: addl $12, %esp leal -4(%ebp), %esp To be "optimized" into simply: addl $8, %esp This commit tightens up mergeSPUpdates() and includes a new test (test14 in movtopush.ll) for this situation. llvm-svn: 265345
* Fix an unused-variable warning by using the variable in the placeJohn McCall2016-04-042-1/+9
| | | | | | it was supposed to have been used. llvm-svn: 265344
* [CrashReproducer] Pass -I, -F and -resource-dir to the reproducer script ↵Bruno Cardoso Lopes2016-04-042-9/+10
| | | | | | | | | | when using modules/vfs The reproducer should use -I/-F/-resource-dir in the same way as the original command. The VFS already collects the right headers but without these flags the reproducer will fail to do the right thing. llvm-svn: 265343
* disabled TSAN tests until the author can help track down CI failuresTodd Fiala2016-04-042-0/+2
| | | | | | | These tests run fine locally for me but are failing on the Green Dragon OS X CI. llvm-svn: 265342
* [Sema] Delete FIXME that has been fixed. NFC.George Burgess IV2016-04-041-2/+0
| | | | llvm-svn: 265341
* Xcode: run gtests when building the lldb-gtest targetTodd Fiala2016-04-041-0/+15
| | | | | | | This addresses the following task: https://llvm.org/bugs/show_bug.cgi?id=27181 Xcode gtests: ensure they run, not just build, on Xcode target llvm-svn: 265340
* OMP_WAIT_POLICY changesJonathan Peyton2016-04-042-2/+55
| | | | | | | | | | | | | This change has OMP_WAIT_POLICY=active to mean that threads will busy-wait in spin loops and virtually never go to sleep. OMP_WAIT_POLICY=passive now means that threads will immediately go to sleep inside a spin loop. KMP_BLOCKTIME was the previous mechanism to specify this behavior via KMP_BLOCKTIME=0 or KMP_BLOCKTIME=infinite, but the standard OpenMP environment variable should also be able to specify this behavior. Differential Revision: http://reviews.llvm.org/D18577 llvm-svn: 265339
* Fix redundant "typename typename T" in Visual Studio Native VisualizerMike Spertus2016-04-041-2/+3
| | | | | | Also, a little minor cleanup llvm-svn: 265338
* Enable unroll for constant bound loops when TripCount is not modulo of ↵Zia Ansari2016-04-042-0/+39
| | | | | | | | | | unroll factor, reducing it to maximum power-of-2 that satisfies threshold limit. Commit for Evgeny Stupachenko (evstupac@gmail.com) Differential Revision: http://reviews.llvm.org/D18290 llvm-svn: 265337
* Revert unintentional change.Rafael Espindola2016-04-041-1/+1
| | | | | | | | resolve can remain private. Thanks to Rui for noticing it. llvm-svn: 265336
* Put these options in sorted order.Sean Silva2016-04-041-1/+1
| | | | | | Feedback from Davide on r265206. llvm-svn: 265335
* Fix bot errors from r265327, exact GUID which depends on pathTeresa Johnson2016-04-041-34/+33
| | | | | | | | | E.g. http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/21919 The source file path name will affect exact GUID, don't try to match exact value. llvm-svn: 265334
* Beef up some dllexport tests.Sean Silva2016-04-041-1/+23
| | | | | | | | | | | | | | | | Adds some dllexport tests to verify that: - Variables in bss are exported appropriately - Non-dllexport symbols aliased to dllexport symbols are not exported - Symbols declared as dllexport but are not defined are not exported We plan to enable dllimport/dllexport support for the PS4, and these additional tests are for points we noticed in our internal testing. Patch by Warren Ristow! Differential Revision: http://reviews.llvm.org/D18682 llvm-svn: 265333
* Rename Other -> StOther.Rui Ueyama2016-04-043-19/+22
| | | | | | "Other" as a name is too generic, so name it StOther. llvm-svn: 265332
* Revert r263460: [SpillPlacement] Fix a quadratic behavior in spill placement.Chandler Carruth2016-04-042-44/+53
| | | | | | | | | | | | | | | | | That commit looks wonderful and awesome. Sadly, it greatly exacerbates PR17409 and effectively regresses build time for a lot of (very large) code when compiled with ASan or MSan. We thought this could be fixed forward by landing D15302 which at last fixes that PR, but some issues were discovered and it looks like that got reverted, so reverting this as well temporarily. As soon as the fix for PR17409 lands and sticks, we should re-land this patch as it won't trigger more significant test cases hitting that bug. Many thanks to Quentin and Wei here as they're doing all the awesome hard work!!! llvm-svn: 265331
* [PGO] Avoid instrumenting direct callee's at value sites.Betul Buyukkurt2016-04-042-0/+12
| | | | | | | | | | Direct callees' that are cast to other function prototypes, show up in the Call/Invoke instructions as ConstantExpr's. Currently llvm::CallSite's getCalledFunction() fails to return the callees in such expressions as direct calls. Value profiling should avoid instrumenting such cases. Mostly NFC. llvm-svn: 265330
* ARM, AArch64, X86: Check preserved registers for tail calls.Matthias Braun2016-04-047-22/+80
| | | | | | | | | | | | | | | | We can only perform a tail call to a callee that preserves all the registers that the caller needs to preserve. This situation happens with calling conventions like preserver_mostcc or cxx_fast_tls. It was explicitely handled for fast_tls and failing for preserve_most. This patch generalizes the check to any calling convention. Related to rdar://24207743 Differential Revision: http://reviews.llvm.org/D18680 llvm-svn: 265329
* Assignment operators should return by reference.John McCall2016-04-041-1/+1
| | | | | | Thanks to Sean Silva for pointing this out. llvm-svn: 265328
* [ThinLTO] Add option to dump value name to GUID mappingTeresa Johnson2016-04-042-6/+53
| | | | | | | | | | | | | | | Summary: Useful for debugging since we lose this correlation after the permodule summary/VST is read and until we later materialize source modules in the function importer. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D18555 llvm-svn: 265327
* [ThinLTO] Augment FunctionImport dump with value name to GUID mapTeresa Johnson2016-04-041-3/+18
| | | | | | | | | | | | | | | | Summary: To aid in debugging, dump out the correlation between value names and GUID for each source module when it is materialized. This will make it easier to comprehend the earlier summary-based function importing debug trace which only has access to and prints the GUIDs. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D18556 llvm-svn: 265326
* Add copyright notice to the modulemap file.Yunzhong Gao2016-04-041-0/+23
| | | | | | | | | | The module.modulemap file in the lib/Headers directory was missing the LLVM copyright notice. This patch adds the copyright notice just like the rest of the files in this directory. Differential Revision: http://reviews.llvm.org/D18709 llvm-svn: 265325
* IRGen-level lowering for the Swift calling convention.John McCall2016-04-0412-45/+1894
| | | | llvm-svn: 265324
* Add a couple of convenience operations to CharUnits.John McCall2016-04-041-0/+8
| | | | llvm-svn: 265323
* Apply suggestion from HJ Lu to avoid misaligned stack in testReid Kleckner2016-04-041-1/+1
| | | | | | Fixes PR27191 llvm-svn: 265322
* fix documentation comments; NFCSanjay Patel2016-04-041-31/+30
| | | | llvm-svn: 265321
* Add comments.Rui Ueyama2016-04-041-3/+5
| | | | llvm-svn: 265320
* [DependenceAnalysis] Check if result of getConstantPart is nullBrendon Cahoon2016-04-042-0/+79
| | | | | | | | | | | A seg-fault occurs due to a reference of a null pointer, which is the value returned by getConstantPart. This function returns null if the constant part is not found. The code that calls this function needs to check for the null return value. Differential Revision: http://reviews.llvm.org/D18718 llvm-svn: 265319
* Replace MachineRegisterInfo::isSSA() with a MachineFunctionPropertyDerek Schuff2016-04-044-27/+26
| | | | | | | | | Use the MachineFunctionProperty mechanism to indicate whether a MachineFunction is in SSA form instead of a custom method on MachineRegisterInfo. NFC Differential Revision: http://reviews.llvm.org/D18574 llvm-svn: 265318
OpenPOWER on IntegriCloud