summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove access to the DataLayout in the TargetMachine"Mehdi Amini2015-07-2417-75/+61
| | | | | | | | | | This reverts commit 0f720d984f419c747709462f7476dff962c0bc41. It breaks clang too badly, I need to prepare a proper patch for clang first. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243089
* [Static Analyzer] Some tests do not turn on core checkers. Running the ↵Gabor Horvath2015-07-244-4/+4
| | | | | | | | analyzers without the core checkers is not supported. Differential Revision: http://reviews.llvm.org/D11432 llvm-svn: 243088
* [bpf] initial support for debug_infoAlexei Starovoitov2015-07-243-9/+22
| | | | llvm-svn: 243087
* [llvm-reaobj] Display COFF-specific sections/tables only if the object is COFF.Davide Italiano2015-07-241-9/+10
| | | | | | Just skip them otherwise. llvm-svn: 243086
* Fix the cc1as crash when it outputs assemblySteven Wu2015-07-242-0/+6
| | | | | | | | In clang cc1as_main, when the output file type is “asm”, AsmStreamer owns a formatted_raw_ostream which has a reference to FDOS (raw_ostream), so AsmStreamer must be closed before FDOS is closed. llvm-svn: 243085
* Handle resolvable branches in complete loop unroll heuristic.Michael Zolotukhin2015-07-242-2/+267
| | | | | | | | | | | | | | Summary: Resolving a branch allows us to ignore blocks that won't be executed, and thus make our estimate more accurate. This patch is intended to be applied after D10205 (though it could be applied independently). Reviewers: chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10206 llvm-svn: 243084
* Remove access to the DataLayout in the TargetMachineMehdi Amini2015-07-2417-61/+75
| | | | | | | | | | | | | | | | | | | | | | Summary: Replace getDataLayout() with a createDataLayout() method to make explicit that it is intended to create a DataLayout only and not accessing it for other purpose. This change is the last of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11103 (cherry picked from commit 5609fc56bca971e5a7efeaa6ca4676638eaec5ea) From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243083
* build: fix small typo in cmake doxygen buildSaleem Abdulrasool2015-07-241-1/+1
| | | | | | | | | A search word spelled as "searhc" in the LLVM_DOXYGEN_SEARCHENGINE_URL cmake variable docstring. Patch by Daniel Otero! llvm-svn: 243082
* MIRParser/LLVMBuild.txt: Add MC for MCRegisterInfo::getDwarfRegNum().NAKAMURA Takumi2015-07-241-1/+1
| | | | llvm-svn: 243081
* Reorder alphabetically.NAKAMURA Takumi2015-07-241-1/+1
| | | | llvm-svn: 243080
* Clean up function attributes on PPC fast-isel tests.Eric Christopher2015-07-2416-145/+145
| | | | llvm-svn: 243079
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-2410-32/+85
| | | | llvm-svn: 243078
* Fix an issue where LLDB would run out of stack space trying to decide if a ↵Enrico Granata2015-07-245-12/+14
| | | | | | | | | | | deeply nested child can be updated in the face of an invalid execution context The issue is that a child can't really ask the root object, since this decision could actually hinge on whether a dynamic and/or synthetic value is present To do this, make values vote lazily for whether they are willing to allow this, so that we can navigate up the chain without recursively invoking ourselves Tentative fix for rdar://21949558 llvm-svn: 243077
* [RewriteStatepointsForGC] Fix release build warningPhilip Reames2015-07-241-0/+2
| | | | llvm-svn: 243076
* Add missing underlines for a docs section. NFCJonathan Roelofs2015-07-241-0/+1
| | | | llvm-svn: 243075
* Add UNUSED_IF_ASSERT_DISABLED and apply it.Bruce Mitchener2015-07-2415-19/+22
| | | | | | | | | | | | | | | Summary: This replaces (void)x; usages where they x was subsequently involved in an assertion with this macro to make the intent more clear. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11451 llvm-svn: 243074
* unwind: Fix libc++abi and libgcc build.Logan Chien2015-07-242-35/+50
| | | | | | | | | | | | To build libc++abi without libunwind, we should make sure that all function calls to _Unwind_{Get,Set}{GR,IP}() are inlined as function calls to _Unwind_VRS_{Get,Set}(). Otherwise, libc++abi.so will fail to link since libgcc does not provide these symbol at all. This commit fixes the problem by providing both the inlined version and exported version. llvm-svn: 243073
* Fix Mac OS X build, debugserver version handling.Bruce Mitchener2015-07-242-3/+14
| | | | | | | | | | | | | | | | | | Summary: No longer rely on cmake to set DEBUGSERVER_VERSION_STR, but now generate the _vers.c file like xcode does and include the generated file into the build on Mac OS X. This fixes the cmake Mac OS X build after an earlier change by Jason Molenda. Reviewers: clayborg, jasonmolenda Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11450 llvm-svn: 243072
* [RewriteStatepointsForGC] Use a worklist algorithm for first part of base ↵Philip Reames2015-07-241-36/+39
| | | | | | | | | | pointer algorithm [NFC] The new code should hopefully be equivalent to the old code; it just uses a worklist to track instructions which need to visited rather than iterating over all instructions visited each time. This should be faster, but the primary benefit is that the purpose should be more clear and the diff of adding another instruction type (forthcoming) much more obvious. Differential Revision: http://reviews.llvm.org/D11480 llvm-svn: 243071
* test commit, only added one spaceLawrence Hu2015-07-231-1/+1
| | | | llvm-svn: 243070
* Fix the equal-vector-size rule for reinterpret_casts in C++John McCall2015-07-235-23/+61
| | | | | | | | | | | | | to consider the storage size of the vector instead of its sizeof. In other words, ban <3 x int> to <4 x int> casts, which produced invalid IR anyway. Also, attempt to be a little more rigorous, or at least explicit, about when enums are allowed in these casts. rdar://21901132 llvm-svn: 243069
* InstrProf: Fix a typo in the test for r243066Justin Bogner2015-07-231-1/+1
| | | | llvm-svn: 243068
* Disable mutex error checking so it doesn't create problems with the ↵Greg Clayton2015-07-231-1/+1
| | | | | | multi-threaded test case. The error would cause an assertion that could cause lldb to crash when unlocking a mutex returned an error because it was in use. llvm-svn: 243067
* InstrProf: Don't extend coverage regions into the catch keywordJustin Bogner2015-07-232-1/+24
| | | | | | | | The catch keyword isn't really part of a region, so it's fairly meaningless to extend into it. This was usually harmless, but it could crash when catch blocks involved macros in strange ways. llvm-svn: 243066
* [NaryReassociate] remove redundant codeJingyue Wu2015-07-231-5/+0
| | | | | | This check is already done by findClosestMatchingDominator. llvm-svn: 243065
* MIR Serialization: Serialize the '.cfi_offset' CFI instruction.Alex Lorenz2015-07-237-10/+220
| | | | | Reviewers: Duncan P. N. Exon Smith llvm-svn: 243062
* Fix -Wextra-semi.Rui Ueyama2015-07-235-10/+9
| | | | | | Patch from Eugene.Zelenko! llvm-svn: 243060
* WebAssembly: test that valid -mcpu flags are accepted.JF Bastien2015-07-231-0/+15
| | | | | | | | | | Summary: AArch64 has a similar test. Subscribers: sunfish, aemerson, llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11479 llvm-svn: 243058
* fix crash in machine trace metrics due to processing dbg_value instructions ↵Sanjay Patel2015-07-232-0/+66
| | | | | | | | | | | | | | | | | | | (PR24199) The test in PR24199 ( https://llvm.org/bugs/show_bug.cgi?id=24199 ) crashes because machine trace metrics was not ignoring dbg_value instructions when calculating data dependencies. The machine-combiner pass asks machine trace metrics to calculate an instruction trace, does some reassociations, and calls MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval() along with MachineTraceMetrics::invalidate(). The dbg_value instructions have their operands invalidated, but the instructions are not expected to be deleted. On a subsequent loop iteration of the machine-combiner pass, machine trace metrics would be called again and die while accessing the invalid debug instructions. Differential Revision: http://reviews.llvm.org/D11423 llvm-svn: 243057
* [RewriteStatepointsForGC] Rename PhiState to reflect that it's associated ↵Philip Reames2015-07-231-41/+43
| | | | | | | | w/more than just PHIs Today, Select instructions also have associated PhiStates. In the near future, so will ExtractElement and SuffleVector. llvm-svn: 243056
* [sanitizer] Fix double definition of a function.Evgeniy Stepanov2015-07-231-0/+2
| | | | llvm-svn: 243055
* [RewriteStatepointsForGC] Use idomatic mechanisms for debug tracing [NFC]Philip Reames2015-07-231-21/+22
| | | | | | Deleting much of the code using trace-rewrite-statepoints and use idiomatic DEBUG statements instead. This includes adding operator<< to a helper class. llvm-svn: 243054
* Several improvements to the Either<T,U> typeEnrico Granata2015-07-231-9/+91
| | | | llvm-svn: 243053
* [ARM] Register (existing) ARMLoadStoreOpt pass with LLVM pass manager.David Gross2015-07-231-2/+12
| | | | | | | | | | Summary: Among other things, this allows -print-after-all/-print-before-all to dump IR around this pass. Subscribers: aemerson, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D11373 llvm-svn: 243052
* [sanitizer] Implement logging to syslog.Evgeniy Stepanov2015-07-2314-41/+110
| | | | | | | | | | | | | | | | | Previously, Android target had a logic of duplicating all sanitizer output to logcat. This change extends it to all posix platforms via the use of syslog, controlled by log_to_syslog flag. Enabled by default on Android, off everywhere else. A bit of cmake magic is required to allow Printf() to call a libc function. I'm adding a stub implementation to support no-libc builds like dfsan and safestack. This is a second attempt. I believe I've fixed all the issues that prompted the revert: Mac build, and all kinds of non-CMake builds (there are 3 of those). llvm-svn: 243051
* Moving tests in to X86 directory.Colin LeMahieu2015-07-232-0/+0
| | | | llvm-svn: 243049
* Add documentation for the objc_boxable attributeAlex Denisov2015-07-232-1/+29
| | | | llvm-svn: 243048
* Test commit.David Gross2015-07-231-0/+1
| | | | llvm-svn: 243046
* [RewriteStatepointsForGC] Simplify code around meet of PhiStates [NFC]Philip Reames2015-07-231-33/+34
| | | | | | We don't need to pass in the map from BDV to PhiStates; we can instead handle that externally and let the MeetPhiStates helper class just meet PhiStates. llvm-svn: 243045
* Using an input object file instead of trying to generate an object file.Colin LeMahieu2015-07-232-5/+2
| | | | llvm-svn: 243044
* Specifying a test triple.Colin LeMahieu2015-07-231-1/+2
| | | | llvm-svn: 243042
* [llvm-objdump] Add -D and --disassemble-all flags that attempt disassembly ↵Colin LeMahieu2015-07-233-3/+19
| | | | | | on all sections instead of just text sections. llvm-svn: 243041
* [Scalarizer] Fix potential for stale data in Scattered across invocationsMatt Wala2015-07-232-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Scalarizer has two data structures that hold information about changes to the function, Gathered and Scattered. These are cleared in finish() at the end of runOnFunction() if finish() detects any changes to the function. However, finish() was checking for changes by only checking if Gathered was non-empty. The function visitStore() only modifies Scattered without touching Gathered. As a result, Scattered could have ended up having stale data if Scalarizer only scalarized store instructions. Since the data in Scattered is used during the execution of the pass, this introduced dangling pointer errors. The fix is to check whether both Scattered and Gathered are empty before deciding what to do in finish(). This also fixes a problem where the Function can be modified although the pass returns false. Reviewers: rnk Subscribers: rnk, srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D10459 llvm-svn: 243040
* Sema: Avoid a stack overflow on large CFGsDuncan P. N. Exon Smith2015-07-231-16/+24
| | | | | | | | | Large CFGs cause `checkForFunctionCall()` to overflow its stack. Break the recursion by manually managing the call stack instead. Patch by Vedant Kumar! llvm-svn: 243039
* Sema: Split out helper from checkForFunctionCall(), NFCDuncan P. N. Exon Smith2015-07-231-37/+37
| | | | | | | | | | Split out `hasRecursiveCallInPath()` from `checkForFunctionCall()` to flatten nesting and clarify the code. This also simplifies a follow-up patch that refactors the other logic in `checkForFunctionCall()`. Patch by Vedant Kumar! llvm-svn: 243038
* Add LICM test casesMichael Kruse2015-07-235-0/+290
| | | | | | | | These test cases check whether Polly still gives the same results if LICM runs before. Currently, it does not and therefore these cases are expected fails. llvm-svn: 243037
* Always execute polly::CodePreparation before PollyMichael Kruse2015-07-231-0/+2
| | | | | | | ScopDetection does not allow scops to begin with the entry block, were allocas are added at code generation. llvm-svn: 243036
* Most thread plans don't handle eStopReasonInstrumentation stop reasons,Jim Ingham2015-07-237-139/+142
| | | | | | | | | | but that wasn't added to the list of reasons they don't explain. That would mean we keep stepping after hitting the AsanDie breakpoint rather than stopping when the Asan event occurred. <rdar://problem/21925479> llvm-svn: 243035
* X86: Use dyn_cast instead of isa+cast, NFCDuncan P. N. Exon Smith2015-07-231-5/+6
| | | | llvm-svn: 243034
* This patch eanble register coalescing to coalesce the following:Weiming Zhao2015-07-232-0/+32
| | | | | | | | | | %vreg2<def> = MOVi32imm 1; GPR32:%vreg2 %W1<def> = COPY %vreg2; GPR32:%vreg2 into: %W1<def> = MOVi32imm 1 Patched by Lawrence Hu (lawrence@codeaurora.org) llvm-svn: 243033
OpenPOWER on IntegriCloud