| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 213832
|
| |
|
|
| |
llvm-svn: 213831
|
| |
|
|
|
|
|
|
|
| |
This bug is introduced by r211144. The element of operand may be
smaller than the element of result, but previous commit can
only handle the contrary condition. This commit is to handle this
scenario and generate optimized codes like ZIP1.
llvm-svn: 213830
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
GDBRemoteRegisterContext::ReadRegisterBytes and
GDBRemoteRegisterContext::WriteRegisterBytes to ensure we don't try
to read/write off the end of the register buffer. This should never
happen but we've had some target confusion in the past where it
did; adding the checks is prudent to avoid crashing here if it happens
again.
<rdar://problem/16450971>
<rdar://problem/16458182>
llvm-svn: 213829
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
to the remote side (QStartNoAckMode) - it may take a little longer
than normal to get a reply.
In debugserver, hardcode the priority for several threads so they
aren't de-prioritized when a user app is using system resources.
Also, set the names of the threads.
<rdar://problem/17509866>
llvm-svn: 213828
|
| |
|
|
|
|
| |
fp, because those optimization cases are micro-architecture dependent and only make sense for Cyclone. A new predicate Cyclone is introduced in .td file.
llvm-svn: 213827
|
| |
|
|
|
|
|
|
|
|
| |
When we had a vector_shuffle where we had an input from each vector, we
could miscompile it because we were assuming the input from V2 wouldn't
be moved from where it was on the vector.
Added a test case.
llvm-svn: 213826
|
| |
|
|
|
|
|
|
| |
Remove pointless MICache: it only ever contained up to 1 object, and was only
non-empty when recovering from an error. There's no performance or memory win
from maintaining this cache.
llvm-svn: 213825
|
| |
|
|
|
|
|
|
|
|
|
| |
Add `Value::sortUseList()`, templated on the comparison function to use.
The sort is an iterative merge sort that uses a binomial vector of
already-merged lists to limit the size overhead to `O(1)`.
This is part of PR5680.
llvm-svn: 213824
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
clang-format is a handy tool that formats code very intelligently. I'd
like to use it with LLDB but it requires a .clang-format file to inform
it about LLDB-specific formatting rules.
More information on these rules are here:
http://clang.llvm.org/docs/ClangFormatStyleOptions.html
Differential Revision: http://reviews.llvm.org/D4630
llvm-svn: 213823
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
File::SeekFromStart returns an off_t representing the position of the
file after seeking. This return value is always going to be one of two
values: the input or -1 in the case of failure.
ObjectFileMachO compares an expression of type off_t from the return of
File::SeekFromStart(segment.fileoff) and compares it for equality with
segment.fileoff.
The type of segment_command_64::fileoff is unsigned while off_t is
signed, comparing them emits a diagnostic under GCC.
Instead, we can just compare SeekFromSTart with -1 to see if we
successfully seeked.
Differential Revision: http://reviews.llvm.org/D4634
llvm-svn: 213822
|
| |
|
|
|
|
|
|
|
|
| |
insertElementAt(x, END) does the identical thing as addInputElement(x),
so the only reasonable use of insertElementAt is to call it with the
other possible argument, BEGIN. That means the second parameter of the
function is just redundant. This patch is to remove the second
parameter and rename the function accordingly.
llvm-svn: 213821
|
| |
|
|
|
|
|
| |
isOnePastTheEnd on an invalid designator, so assert and push the check into the
one caller that wasn't already checking.
llvm-svn: 213820
|
| |
|
|
|
|
|
|
|
|
|
| |
This allows people to try clang inside MSBuild with the VS "14" CTP
releases.
Fixes PR20341.
Patch by Marcel Raad!
llvm-svn: 213819
|
| |
|
|
|
|
| |
insertElementAt(x, END) is the same as addInputElement(x).
llvm-svn: 213818
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: rsmith, nlewycky
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4636
llvm-svn: 213817
|
| |
|
|
|
|
|
|
|
|
|
| |
The class seems to have an invariant that Entries is non-empty if
Invalid is false. It appears this method was previously private, and
all internal uses checked Invalid. Now there is an external caller, so
check Invalid to avoid array OOB underflow.
Fixes PR20420.
llvm-svn: 213816
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use gep to access the global array "switch.table", and the table index
should be treated as unsigned. When the highest bit is 1, this commit
zero-extends the index to an integer type with larger size.
For a switch on i2, we used to generate:
%switch.tableidx = sub i2 %0, -2
getelementptr inbounds [4 x i64]* @switch.table, i32 0, i2 %switch.tableidx
It is incorrect when %switch.tableidx is 2 or 3. The fix is to generate
%switch.tableidx = sub i2 %0, -2
%switch.tableidx.zext = zext i2 %switch.tableidx to i3
getelementptr inbounds [4 x i64]* @switch.table, i32 0, i3 %switch.tableidx.zext
rdar://17735071
llvm-svn: 213815
|
| |
|
|
| |
llvm-svn: 213814
|
| |
|
|
| |
llvm-svn: 213813
|
| |
|
|
|
|
| |
convention.
llvm-svn: 213812
|
| |
|
|
| |
llvm-svn: 213811
|
| |
|
|
|
|
|
|
|
|
| |
It isn't reasonable to test storing things using undef pointers --
storing through those is at best "good luck" and really should be
transformed to "unreachable". Random changes in the combiner can
randomly break these tests for no good reason. I'm following up on the
original commit regarding the right long-term strategy here.
llvm-svn: 213810
|
| |
|
|
| |
llvm-svn: 213809
|
| |
|
|
|
|
|
| |
There were still some disassembler bits in lib/MC, but their use of Object
was only visible in the includes they used, not in the symbols.
llvm-svn: 213808
|
| |
|
|
| |
llvm-svn: 213807
|
| |
|
|
|
|
| |
already inside TargetInstrInfo.
llvm-svn: 213806
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument promotion.
While the subprogram map cache used by Dead Argument Elimination works
there, I made a mistake when reusing it for Argument Promotion in
r212128 because ArgPromo may transform functions more than once whereas
DAE transforms each function only once, removing all the dead arguments
in one go.
To address this, ensure that the map is updated after each argument
promotion.
In retrospect it might be a little wasteful to create a map of all
subprograms when only handling a single CGSCC, but the alternative is
walking the debug info for each function in the CGSCC that gets updated.
It's not clear to me what the right tradeoff is there, but since the
current tradeoff seems to be working OK (and the code to keep things
updated is very cheap), let's stick with that for now.
llvm-svn: 213805
|
| |
|
|
|
|
|
|
|
| |
The entry point file needs to be processed after all other
object files and before all .lib files. It was processed
after .lib files. That caused an issue that the entry point
function was not resolved from the standard library files.
llvm-svn: 213804
|
| |
|
|
|
|
|
|
|
| |
a degenerate arg promotion that's actually DAE performed by ArgPromo
Also the debug location I had here was bogus, describing the location of
the call site as in the callee - and unnecessary, so just drop it.
llvm-svn: 213803
|
| |
|
|
|
|
|
| |
Because of a bug, the entry point address in the PE/COFF header
was not correct.
llvm-svn: 213802
|
| |
|
|
|
|
| |
Make the test work better on non-darwin hosts. Hopefully.
llvm-svn: 213801
|
| |
|
|
|
|
|
|
| |
The transform to constant fold unary operations with an AND across a
vector comparison applies when the constant is not a splat of a scalar
as well.
llvm-svn: 213800
|
| |
|
|
|
|
|
|
| |
The folding of unary operations through a vector compare and mask operation
is only safe if the unary operation result is of the same size as its input.
For example, it's not safe for [su]itofp from v4i32 to v4f64.
llvm-svn: 213799
|
| |
|
|
|
|
|
|
|
|
| |
Constant fold the lanes of the input constant build_vector individually
so we correctly handle when the vector elements are not all the same
constant value.
PR20394
llvm-svn: 213798
|
| |
|
|
| |
llvm-svn: 213795
|
| |
|
|
| |
llvm-svn: 213794
|
| |
|
|
|
|
|
| |
The cast to NVPTXTargetLowering was missing a 'const', but let's
just access the right pointer through the subtarget anyway.
llvm-svn: 213793
|
| |
|
|
|
|
|
|
|
|
|
| |
+ Renamed context into build when it's the isl_ast_build
+ Use the IslAstInfo functions to extract the schedule of a node
+ Use the IslAstInfo functions to extract the build/context of a node
+ Move the payload struct into the IslAstInfo class
+ Use a constructor and destructor (also new and delete) to
allocate/initialize the payload struct
llvm-svn: 213792
|
| |
|
|
| |
llvm-svn: 213791
|
| |
|
|
|
|
| |
been resized.
llvm-svn: 213790
|
| |
|
|
|
|
| |
#pragma clang loop unroll(full).
llvm-svn: 213789
|
| |
|
|
|
|
|
|
|
|
| |
I used the wrong method to obtain the return type inside FinishCall. This fix
simply uses the return type from FastLowerCall, which we already determined to
be a valid type.
Reduced test case from Chad. Thanks.
llvm-svn: 213788
|
| |
|
|
| |
llvm-svn: 213786
|
| |
|
|
|
|
|
| |
Android's ctype implementation comes from openbsd, which for some reason
doesn't consider numbers to be hex digits.
llvm-svn: 213785
|
| |
|
|
|
|
| |
just the next smaller power of two
llvm-svn: 213784
|
| |
|
|
|
|
|
|
|
|
|
| |
This change introduces the first UBSan-specific runtime flag: print_stacktrace
(off by default). It can be set in UBSAN_OPTIONS to unwind and print call stacks
in addition to diagnostic messages. For now these stacks are printed only
in vptr checker.
This change is based on http://reviews.llvm.org/D4410 by Byoungyoung Lee!
llvm-svn: 213783
|
| |
|
|
|
|
|
|
|
|
| |
If UBSan is run in a standalone mode (w/o any other sanitizer), it
still uses functions from sanitizer_common, some of which depend on
the value of runtime flags. Allow to override the default values of these
flags with UBSAN_OPTIONS variable. In particular, UBSAN_OPTIONS=symbolize=0
can be used to turn off online symbolization.
llvm-svn: 213782
|
| |
|
|
|
|
| |
architecture when trying to create a target, that it would fail, but not cause LLDB to crash.
llvm-svn: 213781
|
| |
|
|
| |
llvm-svn: 213780
|