Displaying 1 50 of 4,785,806 commits (0.198s)

LLVM — llvm/trunk/lib/Transforms/Scalar InductiveRangeCheckElimination.cpp, llvm/trunk/test/Transforms/IRCE conjunctive-checks.ll

[IRCE] Optimize conjunctions of range checks

After this change, we do the expected thing for cases like

```
Check0Passed = /* range check IRCE can optimize */
Check1Passed = /* range check IRCE can optimize */
if (!(Check0Passed && Check1Passed))
  throw_Exception();
```

LLVM — lldb/trunk/source/API SBProcess.cpp

Make sure to try and take the process stop lock when calling:

uint32_t SBProcess::GetNumQueues();
SBQueue SBProcess::GetQueueAtIndex (size_t index);

Otherwise this code will run when the process is running and cause problems.

<rdar://problem/26482744>
Delta File
+11 -6 lldb/trunk/source/API/SBProcess.cpp
+11 -6 1 file

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

[IRCE] Refactor out a parseRangeCheckFromCond; NFC

This will later hold more general logic to parse conjunctions of range
checks.

OpenZFS on OS X — zfs_bundle Makefile.am

mount_zfs copy of zfs needs to be in bundle
Delta File
+1 -0 zfs_bundle/Makefile.am
+1 -0 1 file

FreeBSD — head/sys/arm/arm locore-v6.S, head/sys/arm/include param.h _align.h

Disable alignment faults on armv6, adjust various alignment-related macros
to match the new state of affairs.  The hardware we support has always been
able to do unaligned accesses, we've just never enabled it until now.

This brings FreeBSD into line with all the other major OSes, and should help
with the growing volume of 3rd-party software that assumes unaligned access
will just work on armv6 and armv7.

FreeBSD Ports — head/math/octave-forge-video Makefile

- Add localbase to ldflags so that it will build with dragonfly.

PR:                ports/209380
Submitted by:        John Marino <marino at FreeBSD.org>

LLVM — llvm/trunk/include/llvm/Transforms/Scalar PartiallyInlineLibCalls.h

[PM/PartiallyInlineLibCalls] Commit missing header.

This should have been committed with the previous commit, but
I forgot to `git add`. Sorry.

FreeBSD Ports — head/www/nginx-devel Makefile distinfo, head/www/nginx-devel/files extra-patch-ngx_inet_slab.c extra-patch-ngx_rtmp_core_module.c

Upgrade from 1.10.0 to 1.11.0.

<ChangeLog>

*) Feature: the "transparent" parameter of the "proxy_bind",
   "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind"
   directives.

*) Feature: the $request_id variable.

*) Feature: the "map" directive supports combinations of multiple
   variables as resulting values.

*) Feature: now nginx checks if EPOLLRDHUP events are supported by
   kernel, and optimizes connection handling accordingly if the "epoll"
   method is used.

*) Feature: the "ssl_certificate" and "ssl_certificate_key" directives
   can be specified multiple times to load certificates of different
   types (for example, RSA and ECDSA).

*) Feature: the "ssl_ecdh_curve" directive now allows specifying a list
   of curves when using OpenSSL 1.0.2 or newer; by default a list built
   into OpenSSL is used.


    [24 lines not shown]

LLVM — llvm/trunk/docs/tutorial BuildingAJIT1.rst

[KaleidoscopeJIT][BuildingAJIT] Remove some copy-pasta from Chapter 1.

This text was accidentally left in when the original document was copied from
Chapter 7 of the Kaleidoscope language series.

LLVM — llvm/trunk/include/llvm InitializePasses.h, llvm/trunk/lib/Passes PassBuilder.cpp PassRegistry.def

[PM] Port PartiallyInlineLibCalls to the new pass manager.

LLVM — llvm/trunk/tools/llvm-dwp llvm-dwp.cpp

llvm-dwp: Ensure uncompressed sections are not relocated during processing of later inputs

Richard Smith identified this in post commit review of r270466. The
string sections in particular (in the future, possibly all sections - so
I'm not going to bother pulling out just the string sections for the
extra lifetime handling right now) need to remain valid during
processing of all inputs so that elements of the DWPStringPool can be
looked up repeatedly without having to make in-memory copies of string
contents in the noncompressed case (more common in dwp+dwp merge steps
where the memory is a bigger problem because the files are larger).

Using the SmallVector (or any vector) a reallocation on push_back could
cause any of the nested SmallStrings in small mode to move in memory and
invalid pointers to their contents. Using a deque the SmallStrings will
never move around since no elements are removed from the container.

LLVM — llvm/trunk/docs/tutorial BuildingAJIT1.rst index.rst

[Kaleidoscope][BuildingAJIT] Shorten the name of the BuildingAJIT tutorial
series.

The original name was pretty long, and likely to look awkward as more
chapters get added.

LLVM — llvm/trunk/include/llvm/MC MCStreamer.h MCObjectStreamer.h, llvm/trunk/lib/MC MCAsmStreamer.cpp MCObjectStreamer.cpp

Revert "[MC] Support symbolic expressions in assembly directives"

This reverts commit r270786, it causes the directive_fill.s to fail.

LLVM — llvm/trunk/examples/Kaleidoscope/BuildingAJIT CMakeLists.txt Chapter2, llvm/trunk/examples/Kaleidoscope/BuildingAJIT/Chapter2 toy.cpp KaleidoscopeJIT.h

[Kaleidoscope][BuildingAJIT] Add code for the 2nd chapter of the BuildingAJIT
tutorial.

LLVM — lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc TestDataFormatterObjC.py main.m, lldb/trunk/source/Plugins/Language/ObjC Cocoa.cpp

It has been brought to my attention that, given two variables

T x;
U y;

doing

x = *((T*)y)

is undefined behavior, even if sizeof(T) == sizeof(U), due to pointer aliasing rules

Fix up a couple of places in LLDB that were doing this, and transform them into a defined 
and safe memcpy() operation

Also, add a test case to ensure we didn't regress by doing this w.r.t. tagged pointer 
NSDate instances

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter CodeViewDebug.cpp CodeViewDebug.h, llvm/trunk/test/DebugInfo/COFF comdat.ll asm.ll

[codeview] Use comdats for debug info describing comdat functions

Summary:
This allows the linker to discard unused symbol information for comdat
functions that were discarded during the link. Before this change,
searching for the name of an inline function in the debugger would
return multiple results, one per symbol subsection in the object file.
After this change, there is only one result, the result for the function
chosen by the linker.

Reviewers: zturner, majnemer

Subscribers: aaboud, amccarth, llvm-commits

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

LLVM — llvm/trunk/include/llvm/IR AutoUpgrade.h, llvm/trunk/lib/AsmParser LLParser.cpp

Objective-C Class Properties: Autoupgrade "Class Properties" module flag.

When we have "Image Info Version" module flag but don't have "Class Properties"
module flag, set "Class Properties" module flag to 0, so we can correctly emit
errors when one module has the flag set and another module does not.

rdar://26469641

LLVM — llvm/trunk/lib/Target/NVPTX NVVMReflect.cpp

[NVPTX] Don't (incorrectly) say that the NVVMReflect pass preserves all analyses.

Reviewers: tra

Subscribers: jholewinski, llvm-commits

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

LLVM — llvm/trunk/docs CompileCudaWithLLVM.rst

[CUDA] Add section to docs about controlling fp optimizations.

Reviewers: rnk

Subscribers: llvm-commits, tra

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

FreeBSD — head/sys/amd64/amd64 pmap.c

Both Clang and GCC cannot generate efficient reserve_pv_entries().

http://docs.freebsd.org/cgi/mid.cgi?552BFEB2.8040407

Re-implement it entirely in inline assembly not to let compilers do silly
spilling to memory.  For non-POPCNT case, use newly added bit_count(3).

Reported by:        alc
Reviewed by:        alc, kib
Differential Revision:        https://reviews.freebsd.org/D6541
Delta File
+15 -16 head/sys/amd64/amd64/pmap.c
+15 -16 1 file

LLVM — llvm/trunk/include/llvm Pass.h

Remove unused header.
Delta File
+0 -1 llvm/trunk/include/llvm/Pass.h
+0 -1 1 file

LLVM — llvm/trunk/examples/Kaleidoscope/BuildingAJIT/Chapter1 KaleidoscopeJIT.h

[Kaleidoscope][BuildingAJIT] Delete trailing whitespace.

LLVM — llvm/trunk/include/llvm/MC MCStreamer.h MCObjectStreamer.h, llvm/trunk/lib/MC MCAsmStreamer.cpp MCObjectStreamer.cpp

[MC] Support symbolic expressions in assembly directives

This matches the behavior of GNU assembler which supports symbolic
expressions in absolute expressions used in assembly directives.

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

LLVM — llvm/trunk/lib/Target/AArch64 AArch64Subtarget.cpp

Don't repeat name in comment and git-clang-format.

LLVM — cfe/trunk/lib/AST ExprConstant.cpp

[Sema] Use the failure bits introduced by r270781.

r270781 introduced the ability to track whether or not we might have
had unmodeled side-effects during constant expression evaluation. This
patch makes the constexpr evaluator use that tracking.

Reviewed as a part of D18540.
Delta File
+17 -17 cfe/trunk/lib/AST/ExprConstant.cpp
+17 -17 1 file

LLVM — llvm/trunk/lib/CodeGen LiveDebugValues.cpp

Work around an MSVC compiler issue in r270776.

HardenedBSD — usr.sbin/hbsd-update hbsd-update-build

HBSD: Optionally output build log to stderr

Signed-off-by:        Shawn Webb <shawn.webb at hardenedbsd.org>
Sponsored-by:        G2, Inc
MFC-to:                10-STABLE

LLVM — llvm/trunk/docs/tutorial BuildingAJIT1.rst

[Kaleidoscope][BuildingAJIT] Fix code-block indents.

LLVM — cfe/trunk/lib/AST ExprConstant.cpp, cfe/trunk/test/SemaCXX builtin-object-size-cxx14.cpp constant-expression-cxx1y.cpp

[Sema] Note when we encounter a problem in ExprConstant.

Currently, the constexpr evaluator is very conservative about unmodeled
side-effects when we're evaluating an expression in a mode that allows
such side-effects.

This patch makes us note when we might have actually encountered an
unmodeled side-effect, which allows us to be more accurate when we know
an unmodeled side-effect couldn't have occurred.

This patch has been split into two commits; this one primarily
introduces the bits necessary to track whether we might have potentially
hit such a side-effect. The one that actually does the tracking (which
boils down to more or less a rename of keepEvaluatingAfterFailure to
noteFailure) is coming soon.

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

FreeBSD Ports — branches/2016Q2/databases/phpmyadmin distinfo Makefile

MFH: r415866

Security update to 4.6.2

ChangeLog:        https://www.phpmyadmin.net/files/4.6.2/

Security:        00ec1be1-22bb-11e6-9ead-6805ca0b3d42

Approved by:        ports-secteam (junovitch)

LLVM — lldb/trunk/packages/Python/lldbsuite/test/functionalities/archives TestBSDArchives.py, lldb/trunk/packages/Python/lldbsuite/test/functionalities/watchpoint/hello_watchlocation TestWatchLocation.py

Mark some aarch64-linux specific xfails marking bug entries

TestBSDArchives.py and TestWatchLocation.py fail due to unicode error and bug has already 
been reported for arm and macOSx.

TestConstVariables.py fails because lldb cant figure out frame variable type when used in 
expr.

LLVM — llvm/trunk/lib/Analysis LazyValueInfo.cpp

[LazyValueInfo] Simplify `return after else`. NFCI.

LLVM — llvm/trunk/docs/tutorial BuildingAJIT1.rst, llvm/trunk/examples/Kaleidoscope/BuildingAJIT/Chapter1 KaleidoscopeJIT.h

[Kaleidoscope][BuildingAJIT] Add a description of the KaleidoscopeJIT addModule
method to Chapter1 of the BuildingAJIT tutorial.

LLVM — llvm/trunk/include/llvm/Analysis BasicAliasAnalysis.h, llvm/trunk/lib/Analysis BasicAliasAnalysis.cpp

[BasicAA] Improve precision of alloca vs. inbounds GEP alias queries

If a we have (a) a GEP and (b) a pointer based on an alloca, and the
beginning of the object the GEP points would have a negative offset with
repsect to the alloca, then the GEP can not alias pointer (b).

For example, consider code like:

struct { int f0, int f1, ...} foo;
...
foo alloca;
foo *random = bar(alloca);
int *f0 = &alloca.f0
int *f1 = &random->f1;

Which is lowered, approximately, to:
%alloca = alloca %struct.foo
%random = call %struct.foo* @random(%struct.foo* %alloca)
%f0 = getelementptr inbounds %struct, %struct.foo* %alloca, i32 0, i32 0
%f1 = getelementptr inbounds %struct, %struct.foo* %random, i32 0, i32 1

Assume %f1 and %f0 alias. Then %f1 would point into the object allocated
by %alloca. Since the %f1 GEP is inbounds, that means %random must also
point into the same object. But since %f0 points to the beginning of %alloca,
the highest %f1 can be is (%alloca + 3). This means %random can not be higher

    [3 lines not shown]

LLVM — llvm/trunk/lib/CodeGen LiveDebugValues.cpp, llvm/trunk/test/DebugInfo/COFF register-variables.ll

PR26055: Speed up LiveDebugValues by replacing lists with bitvectors.
This patch modifies the LiveDebugValues pass to use more efficient set
data structures as outlined in PR26055. Both VarLocSet and VarLocList are
now SparseBitVectors which allows us to perform much faster bitvector
arithmetic on them.

The speedup can be in the order of minutes especially on ASANified code.

The change is not NFC in the assembler output because the inserted
DBG_VALUEs are now sorted by variable and location.

Many thanks to Daniel Berlin for helping design the improved algorithm and
reviewing the patch.

https://llvm.org/bugs/show_bug.cgi?id=26055
http://reviews.llvm.org/D20178
rdar://problem/24091200

FreeBSD — head/sys/netinet ip_icmp.c

When sending in ICMP response to an SCTP packet,
* include the SCTP common header, if possible
* include the first 8 bytes of the INIT chunk, if possible
This provides the necesary information for the receiver of the ICMP
packet to process it.

MFC after:        1 week
Delta File
+29 -0 head/sys/netinet/ip_icmp.c
+29 -0 1 file

LLVM — cfe/trunk/include/clang/AST ExprCXX.h, cfe/trunk/test/CodeGenCXX debug-info-member-call.cpp

[CGDebugInfo] Modify the preferred expression location for member calls.

If the callee has a valid location (not all do), then use that. Otherwise, fall
back to the starting location. This makes sure that the debug info for calls
points to the call (not the start of the expression providing the object on
which the member function is being called).

For example, given this:

  f->foo()->bar();

we don't want both calls to point to the 'f', but rather to the 'foo()' and
the 'bar()'.

Fixes PR27567.

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

LLVM — cfe/trunk/lib/AST ExprConstant.cpp, cfe/trunk/test/SemaCXX constant-expression-cxx11.cpp

Fix rejects-valid on constexpr function that accesses a not-yet-defined 'extern
const' variable. That variable might be defined as 'constexpr', so we cannot
prove that a use of it could never be a constant expression.

LLVM — llvm/trunk/lib/CodeGen MachineBasicBlock.cpp

[MBB] Early exit to reduce indentation, per coding guidelines. NFC.

LLVM — cfe/trunk/lib/CodeGen CGLoopInfo.cpp CGStmt.cpp, cfe/trunk/test/CodeGenCXX debug-info-line-if.cpp

Add a loop's debug location to its llvm.loop metadata

Getting accurate locations for loops is important, because those locations are
used by the frontend to generate optimization remarks. Currently, optimization
remarks for loops often appear on the wrong line, often the first line of the
loop body instead of the loop itself. This is confusing because that line might
itself be another loop, or might be somewhere else completely if the body was
an inlined function call. This happens because of the way we find the loop's
starting location. First, we look for a preheader, and if we find one, and its
terminator has a debug location, then we use that. Otherwise, we look for a
location on an instruction in the loop header.

The fallback heuristic is not bad, but will almost always find the beginning of
the body, and not the loop statement itself. The preheader location search
often fails because there's often not a preheader, and even when there is a
preheader, depending on how it was formed, it sometimes carries the location of
some preceeding code.

I don't see any good theoretical way to fix this problem. On the other hand,
this seems like a straightforward solution: Put the debug location in the
loop's llvm.loop metadata. When emitting debug information, this commit causes
us to add the debug location as an operand to each loop's llvm.loop metadata.
Thus, we now generate this metadata for all loops (not just loops with
optimization hints) when we're otherwise generating debug information.

The remark test case changes depend on the companion LLVM commit r270771.

LLVM — llvm/trunk/include/llvm/Analysis LoopInfo.h, llvm/trunk/lib/Analysis LoopInfo.cpp

Look for a loop's starting location in the llvm.loop metadata

Getting accurate locations for loops is important, because those locations are
used by the frontend to generate optimization remarks. Currently, optimization
remarks for loops often appear on the wrong line, often the first line of the
loop body instead of the loop itself. This is confusing because that line might
itself be another loop, or might be somewhere else completely if the body was
inlined function call. This happens because of the way we find the loop's
starting location. First, we look for a preheader, and if we find one, and its
terminator has a debug location, then we use that. Otherwise, we look for a
location on an instruction in the loop header.

The fallback heuristic is not bad, but will almost always find the beginning of
the body, and not the loop statement itself. The preheader location search
often fails because there's often not a preheader, and even when there is a
preheader, depending on how it was formed, it sometimes carries the location of
some preceeding code.

I don't see any good theoretical way to fix this problem. On the other hand,
this seems like a straightforward solution: Put the debug location in the
loop's llvm.loop metadata. A companion Clang patch will cause Clang to insert
llvm.loop metadata with appropriate locations when generating debugging
information. With these changes, our loop remarks have much more accurate
locations.

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

LLVM — lldb/trunk/source/Core ValueObjectSyntheticFilter.cpp

Add logging to ValueObjectSyntheticFilter such that one can trace through the creation of 
synthetic children

LLVM — llvm/trunk/lib/Target/AArch64 AArch64Subtarget.cpp

Sort includes.

LLVM — llvm/trunk/lib/IR Verifier.cpp, llvm/trunk/unittests/IR VerifierTest.cpp

Port the strip-invalid-debuginfo logic to the legacy verifier pass, too.

Since r268966 the modern Verifier pass defaults to stripping invalid debug info
in nonasserts builds.  This patch ports this behavior back to the legacy
Verifier pass as well.  The primary motivation is that the clang frontend
accepts bitcode files as input but is still using the legacy pass pipeline.

Background: The problem I'm trying to solve with this sequence of patches is
that historically we've done a really bad job at verifying debug info. We want
to be able to make the verifier stricter without having to worry about breaking
bitcode compatibility with existing producers. For example, we don't necessarily
want IR produced by an older version of clang to be rejected by an LTO link just
because of malformed debug info, and rather provide an option to strip it. Note
that merely outdated (but well-formed) debug info would continue to be
auto-upgraded in this scenario.

http://reviews.llvm.org/D20629
<rdar://problem/26448800>

LLVM — llvm/trunk/test/CodeGen/X86 sse41-intrinsics-x86.ll

[X86][SSE41] Removed pblendw intrinsics tests - they are auto-upgraded

Equivalent tests included in sse41-intrinsics-x86-upgrade.ll - the i8/i32 immediate diff 
doesn't matter anymore

LLVM — llvm/trunk/include/llvm/Transforms/IPO PassManagerBuilder.h, llvm/trunk/lib/Transforms/IPO PassManagerBuilder.cpp

Move whole-program virtual call optimization pass after function attribute inference in 
LTO pipeline.

As a result of D18634 we no longer infer certain attributes on linkonce_odr
functions at compile time, and may only infer them at LTO time. The readnone
attribute in particular is required for virtual constant propagation (part
of whole-program virtual call optimization) to work correctly.

This change moves the whole-program virtual call optimization pass after
the function attribute inference passes, and enables the attribute inference
passes at opt level 1, so that virtual constant propagation has a chance to
work correctly for linkonce_odr functions.

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

LLVM — llvm/trunk/test/CodeGen/X86 sse41-intrinsics-x86.ll sse41-intrinsics-x86-upgrade.ll

[X86][SSE41] Regenerated intrinsics tests

ZFS on Linux — cmd/zpool zpool_main.c, include/sys/fs zfs.h

Add request size histograms (-r) to zpool iostat, minor man page fix

Add -r option to "zpool iostat" to print request size histograms for the leaf
ZIOs. This includes histograms of individual ZIOs ("ind") and aggregate ZIOs
("agg"). These stats can be useful for seeing how well the ZFS IO aggregator
is working.

$ zpool iostat -r
mypool        sync_read    sync_write    async_read    async_write      scrub
req_size      ind    agg    ind    agg    ind    agg    ind    agg    ind    agg
----------  -----  -----  -----  -----  -----  -----  -----  -----  -----  -----
512             0      0      0      0      0      0    530      0      0      0
1K              0      0    260      0      0      0    116    246      0      0
2K              0      0      0      0      0      0      0    431      0      0
4K              0      0      0      0      0      0      3    107      0      0
8K             15      0     35      0      0      0      0      6      0      0
16K             0      0      0      0      0      0      0     39      0      0
32K             0      0      0      0      0      0      0      0      0      0
64K            20      0     40      0      0      0      0      0      0      0
128K            0      0     20      0      0      0      0      0      0      0
256K            0      0      0      0      0      0      0      0      0      0
512K            0      0      0      0      0      0      0      0      0      0
1M              0      0      0      0      0      0      0      0      0      0
2M              0      0      0      0      0      0      0      0      0      0
4M              0      0      0      0      0      0    155     19      0      0

    [10 lines not shown]

LLVM — llvm/trunk/lib/Analysis TargetLibraryInfo.cpp, llvm/trunk/test/Transforms/InferFunctionAttrs annotate.ll no-proto.ll

[TLI] Also cover Linux 64 libfunc (stat64, ...) prototype checking.

My script missed those in r270750.

FreeBSD Ports — head/databases/phpmyadmin distinfo Makefile

Security update to 4.6.2

ChangeLog:        https://www.phpmyadmin.net/files/4.6.2/

MFH:                2016Q2
Security:        00ec1be1-22bb-11e6-9ead-6805ca0b3d42