Displaying 1 50 of 211,526 commits (0.018s)

LLVM — cfe/trunk/include/clang/Basic Attr.td, cfe/trunk/include/clang/Sema Sema.h

Fix a potential APInt memory leak when using __attribute__((flag_enum)), and
simplify the implementation a bit.

LLVM — lldb/trunk/include/lldb/Target StackFrame.h, lldb/trunk/source/Commands CommandObjectExpression.cpp

Set the default language to use when evaluating to that of the frame's CU.

* Use the frame's context (instead of just the target's) when evaluating,
  so that the language of the frame's CU can be used to select the
  compiler and/or compiler options to use when parsing the expression.
  This allows for modules built with mixed languages to be parsed in
  the context of their frame. 
* Add all C and C++ language variants when determining the language options
  to set.
* Enable C++ language options when language is C or ObjC as a workaround since
  the expression parser uses features of C++ to capture values.
* Enable ObjC language options when language is C++ as a workaround for ObjC
  requirements.
* Disable C++11 language options when language is C++03.
* Add test TestMixedLanguages.py to check that the language being used
  for evaluation is that of the frame.
* Fix test TestExprOptions.py to check for C++11 instead of C++ since C++ has
  to be enabled for C, and remove redundant expr --language test for ObjC.
* Fix TestPersistentPtrUpdate.py to not require C++11 in C.

Reviewed by: clayborg, spyffe, jingham
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11102

LLVM — llvm/trunk/lib/Fuzzer FuzzerMutate.cpp

[libFuzzer] when a single mutation fails try a few more times with other mutations before 
returning un-mutated data

LLVM — lldb/trunk/include/lldb/DataFormatters CXXFormatterFunctions.h LibCxx.h, lldb/trunk/lldb.xcodeproj project.pbxproj

Nuke CXXFormatterFunctions.cpp - split the contents of it across different files, so that 
things are better organized along the C++/ObjC line

This is preparatory work for moving these formatters into language categories

LLVM — cfe/trunk/include/clang/Sema Sema.h

Untabify.

LLVM — llvm/trunk/docs LibFuzzer.rst, llvm/trunk/lib/Fuzzer FuzzerMutate.cpp FuzzerInterface.h

[libFuzzer] actually make the dictionaries work (+docs)

LLVM — llvm/trunk/lib/Target/PowerPC PPCTargetTransformInfo.cpp PPCTargetTransformInfo.h, llvm/trunk/test/Transforms/LoopVectorize/PowerPC stride-vectorization.ll

[PowerPC] Enable interleaved-access vectorization

This adds a basic cost model for interleaved-access vectorization (and a better
default for shuffles), and enables interleaved-access vectorization by default.
The relevant difference from the default cost model for interleaved-access
vectorization, is that on PPC, the shuffles that end up being used are *much*
cheaper than modeling the process with insert/extract pairs (which are
quite expensive, especially on older cores).

LLVM — lld/trunk/ELF SymbolTable.cpp SymbolTable.h

Add a template helper to avoid multiple switches over the ELF kind. NFC.

LLVM — lldb/trunk/lldb.xcodeproj project.pbxproj, lldb/trunk/resources lldb-framework-exports

Only export public symbols with the cmake build.

Summary:
This also moves the xcode support files to be near or the same
as the ones used for cmake.

The source/API/liblldb.xcodes.exports differs from the
source/API/liblldb.exports in that one contains the actual
symbol names (_ prefixed) while the other contains the symbol
names as they are in the code. The liblldb.exports file is
preprocessed by the cmake scripts into the correct per-platform
file needed (like a linker script on Linux).

This is not enabled on Windows as Windows doesn't use the same
name mangling and so it won't be valid there. Also, this is handled
already in a different way on Windows (via dll exports).

Reviewers: emaste, clayborg, labath, chaoren

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12599

LLVM — lldb/trunk/source/Plugins/SystemRuntime/MacOSX AppleGetQueuesHandler.cpp CMakeLists.txt

SystemRuntime/MacOSX no longer need ObjCRuntime header.

Summary:
The AppleGetQueuesHandler code no longer needs to include a header
from the AppleObjCRuntime, so we can remove workarounds that were
present in the build systems.

Reviewers: clayborg, jasonmolenda

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12589

LLVM — lldb/trunk/source/Expression ClangExpressionDeclMap.cpp, lldb/trunk/test/expression_command/formatters TestFormatters.py

Lookup function using full name if one with mangled name is not found.

Summary:
Remove expected failure decorators from tests which now should start
passing.

Reviewers: clayborg, spyffe

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12613

LLVM — llvm/trunk/lib/Target/PowerPC PPCTargetTransformInfo.cpp, llvm/trunk/test/Transforms/LoopVectorize/PowerPC agg-interleave-a2.ll

[PowerPC] Always use aggressive interleaving on the A2

On the A2, with an eye toward QPX unaligned-load merging, we should always use
aggressive interleaving. It is generally superior to only using concatenation
unrolling.

LLVM — cfe/trunk/lib/StaticAnalyzer/Checkers NullabilityChecker.cpp, cfe/trunk/test/Analysis nullability.mm

[Static Analyzer] Remove sinks from nullability checks.

Differential Revision: http://reviews.llvm.org/D12445

LLVM — lldb/trunk/test dotest.py

Protect dotest.py with an if __name__ == "__main__"
Delta File
+494 -493 lldb/trunk/test/dotest.py
+494 -493 1 file

LLVM — cfe/trunk/lib/CodeGen CGClass.cpp CodeGenModule.h, cfe/trunk/test/CodeGenCXX sanitize-dtor-bit-field.cpp sanitize-dtor-nontrivial-virtual-base.cpp

Refactored dtor sanitizing into EHScopeStack

Summary:
Dtor sanitization handled amidst other dtor cleanups,
between cleaning bases and fields. Sanitizer call pushed onto
stack of cleanup operations.

Reviewers: eugenis, kcc

Differential Revision: http://reviews.llvm.org/D12022

Refactoring dtor sanitizing emission order.

- Support multiple inheritance by poisoning after
 member destructors are invoked, and before base
 class destructors are invoked.
- Poison for virtual destructor and virtual bases.
- Repress dtor aliasing when sanitizing in dtor.
- CFE test for dtor aliasing, and repression of aliasing in dtor
 code generation.
- Poison members on field-by-field basis, with collective poisoning
 of trivial members when possible.
- Check msan flags and existence of fields, before dtor sanitizing,
 and when determining if aliasing is allowed.
- Testing sanitizing bit fields.

LLVM — cfe/trunk/include/clang module.modulemap, cfe/trunk/include/clang/Basic TargetCXXABI.h BuiltinsWebAssembly.def

[WebAssembly] Initial WebAssembly support in clang

This implements basic support for compiling (though not yet assembling
or linking) for a WebAssembly target. Note that ABI details are not yet
finalized, and may change.

Differential Revision: http://reviews.llvm.org/D12002

LLVM — llvm/trunk/lib/Target/PowerPC PPCISelLowering.cpp, llvm/trunk/test/CodeGen/PowerPC qpx-unal-cons-lds.ll

[PowerPC] Try harder to find a base+offset when looking for consecutive accesses

When forming permutation-based unaligned vector loads, we need to know whether
it is valid to read ahead of the requested address by a full vector length.
Doing so is more efficient (and allows for more CSE with later loads), but
could trigger a page fault if invalid. To determine validity, we look for other
loads in the same block that access the relevant address range.

The relevant point here is that we need to do this as part of the process of
forming permutation-based vector loads, and this happens quite early in the
SDAG pipeline - specifically before many of the address calculations are fully
canonicalized. As a result, we need to try harder to recognize base+offset
address computations, because they still might appear as chain of adds
(base+offset+offset, for example). To account for this, we'll look through
chains of adds, accumulating the constant offsets.

LLVM — llvm/trunk/lib/IR Attributes.cpp, llvm/trunk/test/Assembler incorrect-tdep-attrs-parsing.ll

[IR] Have AttrBuilder::clear clear `TargetDepAttrs`.

Test case attached -- currently the parser smears the "foo bar" to all
of the formal arguments.

LLVM — lld/trunk/ELF InputFiles.cpp

Avoid gcc warning.
Delta File
+1 -0 lld/trunk/ELF/InputFiles.cpp
+1 -0 1 file

LLVM — llvm/trunk/lib/Transforms/Scalar RewriteStatepointsForGC.cpp

[RewriteStatepointsForGC] Extract common code, comment, and fix a build warning [NFC]

LLVM — llvm/trunk/lib/Transforms/Scalar RewriteStatepointsForGC.cpp

[RewriteStatepointsForGC] Strengthen invariants around BDVs

As a first step towards a new implementation of the base pointer inference algorithm, 
introduce an abstraction for BDVs, strengthen the assertions around them, and rewrite the 
BDV relation code in terms of the abstraction which includes an explicit notion of whether 
the BDV is also a base. The later is motivated by the fact we had a bug where 
insertelement was always assumed to be a base pointer even though the BDV code knew it 
wasn't. The strengthened assertions in this patch would have caught that bug.

The next step will be to separate the DefiningValueMap into a BDV use list cache (entirely 
within findBasePointers) and a base pointer cache. Having the former will allow me to use 
a deterministic visit order when visiting BDVs in the inference algorithm and remove a 
bunch of ordering related hacks. Before actually doing the last step, I'm likely going to 
extend the lattice with a 'BaseN' (seen only base inputs) state so that I can kill the 
post process optimization step.

Phabricator Revision: http://reviews.llvm.org/D12608

LLVM — llvm/trunk/lib/Fuzzer FuzzerInterface.h FuzzerMutate.cpp, llvm/trunk/lib/Fuzzer/test FuzzerUnittest.cpp

[libFuzzer] refactor the mutation functions so that they are now methods of a class. NFC

LLVM — llvm/trunk/lib/Target/PowerPC PPCTargetTransformInfo.cpp, llvm/trunk/test/Analysis/CostModel/PowerPC unal-vec-ldst.ll load_store.ll

[PowerPC] Include the permutation cost for unaligned vector loads

Pre-P8, when we generate code for unaligned vector loads (for Altivec and QPX
types), even when accounting for the combining that takes place for multiple
consecutive such loads, there is at least one load instructions and one
permutation for each load. Make sure the cost reported reflects the cost of the
permutes as well.

LLVM — cfe/trunk/lib/Analysis ThreadSafety.cpp, cfe/trunk/test/SemaCXX warn-thread-safety-analysis.cpp

Thread safety analysis: the NO_THREAD_SAFETY_ANALYSIS attribute will now
disable checking of arguments to the function, which is done by
-Wthread-safety-reference.

LLVM — llvm/trunk/lib/Target/PowerPC PPCISelLowering.cpp, llvm/trunk/test/CodeGen/PowerPC unal-vec-negarith.ll

[PowerPC] Compute the MMO offset for an unaligned load with signed arithmetic

If you compute the MMO offset using unsigned arithmetic, you end up with a
large positive offset instead of a small negative one. In theory, this could
cause bad instruction-scheduling decisions later.

I noticed this by inspection from the debug output, and using that for the
regression test is the best I can do right now.

LLVM — cfe/trunk/test/Driver fsanitize-coverage.c

Add target flag to clang-cl invocation in this test.

LLVM — cfe/trunk/lib/CodeGen ItaniumCXXABI.cpp

Fix PR23472þ by emitting initialized variable and its guard in the same COMDAT only for 
ELF objects.

 http://llvm.org/pr23472

Reviewed by Reid Kleckner.

LLVM — lld/trunk/ELF InputFiles.cpp

[ELF2] Don't allocate more SymbolBodies than needed.

Differential Revision:        http://reviews.llvm.org/D12605
Delta File
+1 -1 lld/trunk/ELF/InputFiles.cpp
+1 -1 1 file

LLVM — llvm/trunk/lib/Transforms/Scalar RewriteStatepointsForGC.cpp

[RewriteStatepointsForGC] Workaround a lack of determinism in visit order

The visit order being used in the base pointer inference algorithm is currently 
non-deterministic.  When working on http://reviews.llvm.org/D12583, I discovered that we 
were relying on a peephole optimization to get deterministic ordering in one of the test 
cases.  

This change is intented to let me test and land http://reviews.llvm.org/D12583.  The 
current code will not be long lived.  I'm starting to investigate a rewrite of the 
algorithm which will combine the post-process step into the initial algorithm and make the 
visit order determistic.  Before doing that, I wanted to make sure the existing code was 
complete and the test were stable.  Hopefully, patches should be up for review for the new 
algorithm this week or early next.

LLVM — llvm/trunk/lib/Fuzzer FuzzerUtil.cpp FuzzerInternal.h, llvm/trunk/lib/Fuzzer/test FuzzerUnittest.cpp

[libFuzzer] adding a parser for AFL-style dictionaries + tests.

LLVM — llvm/trunk/lib/Transforms/Instrumentation SanitizerCoverage.cpp, llvm/trunk/test/Instrumentation/SanitizerCoverage localescape.ll seh.ll

[sancov] Disable sanitizer coverage on functions using SEH

Splitting basic blocks really messes up WinEHPrepare. We can remove this
change when SEH uses the new EH IR.

LLVM — llvm/trunk/utils/vim/syntax llvm.vim

llvm.vim: 'musttail' is a keyword too

LLVM — lld/trunk/ELF InputFiles.h InputFiles.cpp, lld/trunk/test/elf2 incompatible.s

Start adding support for shared libraries.

This just adds the types and enough support to detect incompatibilities among
shared libraries and object files.

LLVM — lld/trunk/ELF SymbolTable.cpp SymbolTable.h

Add a helper function for getting the first object file.

Also preparation for shared objects. It will become the first ELF file.

LLVM — cfe/trunk/test/Driver fsanitize-blacklist.c

Add -target flag to Clang invocations in this test.

ASan may not be supported for the default target triple.

LLVM — lldb/trunk/test dosep.py dotest.py, lldb/trunk/www test.html

Roll dosep.py parallel test runner into dotest.py command line

See the following for details:
http://reviews.llvm.org/D12587

LLVM — lld/trunk/ELF SymbolTable.h Writer.cpp

Make ObjectFiles private. NFC.

Just preparation for adding support for shared libraries.

LLVM — llvm/trunk/docs LangRef.rst

Try to clarify the semantics of fptrunc

* ``the value cannot fit within the destination type`` is ambiguous.
  It could mean overflow, underflow (not in the IEEE-754 sense) or a
  result that cannot be exactly represented and requires rounding or it
  could mean some combination of these. The semantics now state it means
  overflow **only**.

* Using "truncation" in the semantics is very misleading given that it
  doesn't necessarily truncate (i.e. round to zero). For example on
  x86_64 with SSE2 this is currently mapped to cvtsd2ss instruction
  who's rounding behaviour is dependent on the MXCSR register which
  is usually set to round to nearest even by default. The semantics
  now state that the rounding mode is undefined.
Delta File
+5 -3 llvm/trunk/docs/LangRef.rst
+5 -3 1 file

LLVM — lldb/trunk/test/functionalities/completion TestCompletion.py

Fix TestCompletion.py failure on Darwin after r246639

Summary: - send empty line for multiple commands to complete

Reviewers: tberghammer

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12584

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/trunk/test/CodeGen/AArch64 aarch64-addv.ll

[AArch64] Improve ISel using across lane addition reduction.

In vectorized add reduction code, the final "reduce" step is sub-optimal.
This change wll combine :

ext  v1.16b, v0.16b, v0.16b, #8
add  v0.4s, v1.4s, v0.4s
dup  v1.4s, v0.s[1]
add  v0.4s, v1.4s, v0.4s

into

addv s0, v0.4s

PR21371
http://reviews.llvm.org/D12325
Patch by Jun Bum Lim <junbuml at codeaurora.org>!

LLVM — llvm/trunk/tools/llvm-readobj MachODumper.cpp llvm-readobj.cpp

[llvm-readobj] Dump MachO indirect symbols.

Example output:

File: <stdin>
Format: Mach-O 32-bit i386
Arch: i386
AddressSize: 32bit
Indirect Symbols {

Number: 3
Symbols [
  Entry {
    Entry Index: 0
    Symbol Index: 0x4
  }
  Entry {
    Entry Index: 1
    Symbol Index: 0x0
  }
  Entry {
    Entry Index: 2
    Symbol Index: 0x1
  }
]

    [3 lines not shown]

LLVM — llvm/trunk/lib/AsmParser LLParser.cpp, llvm/trunk/test/Assembler global-addrspace-forwardref.ll

Allow global address space forward decls using IDs in .ll files.

Summary:
This fixes bugzilla bug 24656. Fixes the case where there is a forward
reference to a global variable using an ID (i.e. @0). It does this by
passing the address space of the initializer pointer for which the
forward referenced global is used.

LLVM — lldb/trunk/source/Host/common Socket.cpp

NetBSD ships with paccept(2), a superset of accept4(2)

Summary: accept4(2) and paccept(2) are nonstandard extensions.

Reviewers: joerg, sas

Subscribers: emaste, sas, lldb-commits

Differential Revision: http://reviews.llvm.org/D12485

Change by Kamil Rytarowski <n54 at gmx.com>

LLVM — lld/trunk/docs windows_support.rst

COFF: Update windows_support.html.
Delta File
+5 -26 lld/trunk/docs/windows_support.rst
+5 -26 1 file

LLVM — llvm/trunk/test/CodeGen/ARM legalize-unaligned-load.ll

[ARM] Add a test case for revision 243956.

LLVM — llvm/trunk/include/llvm/MC MCSectionCOFF.h, llvm/trunk/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Sink COFF.h MC include into .cpp files

This prevents MC clients from getting COFF.h, which conflicts with
winnt.h macros. Also a minor IWYU cleanup. Now the only public headers
including COFF.h are in Object, and they actually need it.

LLVM — lldb/trunk/test/functionalities/disassembly TestDisassembleBreakpoint.py

i386 and i686 are equivalent, update the test accordingly.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64LoadStoreOptimizer.cpp, llvm/trunk/test/CodeGen/AArch64 ldp-stp-scaled-unscaled-pairs.ll

Revert "[AArch64] Improve load/store optimizer to handle LDUR + LDR."

This reverts commit r246769.

This appears to have broken Multisource/Benchmarks/tramp3d-v4.

LLVM — llvm/trunk/lib/Target/X86 X86InstrInfo.cpp, llvm/trunk/test/CodeGen/X86 machine-combiner-int.ll

[x86] enable machine combiner reassociations for scalar 'xor' insts

LLVM — lld/trunk/COFF Driver.cpp Options.td

COFF: Ignore /GUARDSYM option.

The option is added in MSVC 2015, and there's no documentation about
what the option is. This patch is to ignore the option for now, so that
at least LLD is usable with MSVC 2015.