| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 224265
|
| |
|
|
|
|
| |
For r224260.
llvm-svn: 224264
|
| |
|
|
| |
llvm-svn: 224263
|
| |
|
|
| |
llvm-svn: 224262
|
| |
|
|
| |
llvm-svn: 224261
|
| |
|
|
| |
llvm-svn: 224260
|
| |
|
|
|
|
| |
Match LLVM changes from r224257.
llvm-svn: 224259
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This saga started with a hang on OSX. 2 solutions were proposed.
1) 'select' based solution works ok on OSX but slows down test completion time
on Linux many times.
2) 'ioctl' base solution also works but it causes heavy processor usage on OSX
as reported by Ilia K.
But as the original hang did not occur on Linux so this commit re-introduces the
'select' in conditional code so that it only runs for OSX. There is no need for
this 'fix' to run on Linux.
Initial patch by Ilia K <ki.stfu@gmail.com>. A few changes were made by me.
llvm-svn: 224258
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that `Metadata` is typeless, reflect that in the assembly. These
are the matching assembly changes for the metadata/value split in
r223802.
- Only use the `metadata` type when referencing metadata from a call
intrinsic -- i.e., only when it's used as a `Value`.
- Stop pretending that `ValueAsMetadata` is wrapped in an `MDNode`
when referencing it from call intrinsics.
So, assembly like this:
define @foo(i32 %v) {
call void @llvm.foo(metadata !{i32 %v}, metadata !0)
call void @llvm.foo(metadata !{i32 7}, metadata !0)
call void @llvm.foo(metadata !1, metadata !0)
call void @llvm.foo(metadata !3, metadata !0)
call void @llvm.foo(metadata !{metadata !3}, metadata !0)
ret void, !bar !2
}
!0 = metadata !{metadata !2}
!1 = metadata !{i32* @global}
!2 = metadata !{metadata !3}
!3 = metadata !{}
turns into this:
define @foo(i32 %v) {
call void @llvm.foo(metadata i32 %v, metadata !0)
call void @llvm.foo(metadata i32 7, metadata !0)
call void @llvm.foo(metadata i32* @global, metadata !0)
call void @llvm.foo(metadata !3, metadata !0)
call void @llvm.foo(metadata !{!3}, metadata !0)
ret void, !bar !2
}
!0 = !{!2}
!1 = !{i32* @global}
!2 = !{!3}
!3 = !{}
I wrote an upgrade script that handled almost all of the tests in llvm
and many of the tests in cfe (even handling many `CHECK` lines). I've
attached it (or will attach it in a moment if you're speedy) to PR21532
to help everyone update their out-of-tree testcases.
This is part of PR21532.
llvm-svn: 224257
|
| |
|
|
|
|
| |
different declaration of the same function.
llvm-svn: 224256
|
| |
|
|
|
|
|
|
| |
Add in definedness checks for shift operators, null checks when
pointers are assumed by the code to be non-null, and explicit
unreachables.
llvm-svn: 224255
|
| |
|
|
|
|
|
| |
This matches the pattern of the mips2 and 3 tests, as well as our normal
conventions.
llvm-svn: 224254
|
| |
|
|
| |
llvm-svn: 224253
|
| |
|
|
| |
llvm-svn: 224252
|
| |
|
|
|
|
| |
for mips platform. The patches are divided per version of mips CPU to keep the patches smaller and ease the review. There are no functional changes, code is changed only if new tests reveal a bug.This patch adds disassembler tests for mips1 CPU.
llvm-svn: 224251
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Add voidType() matcher.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6656
llvm-svn: 224250
|
| |
|
|
| |
llvm-svn: 224249
|
| |
|
|
| |
llvm-svn: 224248
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- by Ella Bolshinsky
The alias analysis is used define whether the given instruction
is a barrier for store sinking. For 2 identical stores, following
instructions are checked in the both basic blocks, to determine
whether they are sinking barriers.
http://reviews.llvm.org/D6420
llvm-svn: 224247
|
| |
|
|
|
|
|
|
|
|
| |
source operand is in memory
Adds the various "rm" instruction variants into the list of instructions that have a partial register update. Also adds all variants of SQRTSD that were missing in the original list.
Differential Revision: http://reviews.llvm.org/D6620
llvm-svn: 224246
|
| |
|
|
|
|
|
|
|
| |
ReaderErrorCategory was used only at one place. We now have a
DynamicErrorCategory for this kind of one-time error, so use it.
The calling function doesn't really care the type of an error, so
ReaderErrorCategory was actually dead code.
llvm-svn: 224245
|
| |
|
|
| |
llvm-svn: 224244
|
| |
|
|
|
|
| |
After previous commit: http://reviews.llvm.org/rL224242, misaligned testcase is now supported on ARM also
llvm-svn: 224243
|
| |
|
|
|
|
|
|
|
|
| |
On mips64 addresses are 40-bit. Where as a 48 bit address is used in TypeCheck/misaligned.cpp.
Using regular expression for that address.
reviewed by : samsonov
submitted by: sagar
llvm-svn: 224242
|
| |
|
|
| |
llvm-svn: 224241
|
| |
|
|
|
|
|
|
|
|
|
| |
Don't send a value dependent expression into the expression evaluator,
HandleSizeof would crash. Making HandleSizeof handle dependent types
would noisily warn about the operation even if everything turns out OK
after instantiation.
This fixes PR21848.
llvm-svn: 224240
|
| |
|
|
|
|
|
|
|
| |
No MIPS64 architecture dependant code
reviewed by : samsonov
submitted by: sagar
llvm-svn: 224239
|
| |
|
|
|
|
|
|
|
|
|
| |
We would CreateString on arbitrary garbage instead of just skipping to
the end of the builtin macro. Eventually, this would cause us to crash
because we would end up replacing the contents of a character token with
a numeric literal.
This fixes PR21825.
llvm-svn: 224238
|
| |
|
|
|
|
|
|
|
| |
We would exit Sema::ActOnFinishSwitchStmt early if we didn't have a
body. This would leave an extra SwitchStmt on the SwitchStack.
This fixes PR21841.
llvm-svn: 224237
|
| |
|
|
|
|
| |
This field was not even initialized properly.
llvm-svn: 224236
|
| |
|
|
| |
llvm-svn: 224235
|
| |
|
|
| |
llvm-svn: 224234
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the simplest case, which is used when no chunk_size is specified in
the schedule(static) or no 'schedule' clause is specified - the
iteration space is divided by the library into chunks that are
approximately equal in size, and at most one chunk is distributed
to each thread. In this case, we do not need an outer loop in each
thread - each thread requests once which iterations range it should
handle (using __kmpc_for_static_init runtime call) and then runs the
inner loop on this range.
Differential Revision: http://reviews.llvm.org/D5865
llvm-svn: 224233
|
| |
|
|
|
|
|
|
|
| |
ConsumeToken doesn't work with special tokens. Instead, just use PP.Lex
to eat the token.
This fixes PR21817.
llvm-svn: 224232
|
| |
|
|
| |
llvm-svn: 224231
|
| |
|
|
|
|
|
| |
Currently clang fires assertions on x86-64 on any atomic operations for long double operands. Patch fixes codegen for such operations.
Differential Revision: http://reviews.llvm.org/D6499
llvm-svn: 224230
|
| |
|
|
|
|
|
|
| |
The line mapping information for dynamic code is reported incorrectly. It causes VTune to map LLVM generated code to source lines incorrectly. This patch fix this issue.
Patch by Denis Pravdin.
Differential Revision: http://reviews.llvm.org/D6603
llvm-svn: 224229
|
| |
|
|
|
|
|
|
| |
Clang should form a wide string literal from L#macro_arg in a function-like macro in -fms-compatibility mode.
Fix for http://llvm.org/PR9984.
Differential Revision: http://reviews.llvm.org/D6604
llvm-svn: 224228
|
| |
|
|
|
|
| |
Just a cleanup, no functionality change is intended.
llvm-svn: 224227
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 224226
|
| |
|
|
|
|
|
| |
It makes more sense for ThreadLocal<const T>::get to return a const T*
and ThreadLocal<T>::get to return a T*.
llvm-svn: 224225
|
| |
|
|
| |
llvm-svn: 224224
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: djasper
Reviewed By: djasper
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6636
llvm-svn: 224223
|
| |
|
|
|
|
| |
produces same
llvm-svn: 224222
|
| |
|
|
|
|
|
|
|
|
|
| |
This actually came up as a break in UBSan tests (look for a follow-up
commit to this one to see the UBSan test fallout) when I tried a broader
fix to location information.
I have some other ideas about how to do that broader change & will keep
looking into it.
llvm-svn: 224221
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CodeGen assumed that a compound literal with array type should have a
corresponding LLVM IR array type.
We had two bugs in this area:
- Zero sized arrays in compound literals would lead to the creation of
an opaque type. This is unnecessary, we should just create an array
type with a bound of zero.
- Funny record types (like unions) lead to exotic IR types for compound
literals. In this case, CodeGen must be prepared to deal with the
possibility that it might not have an array IR type.
This fixes PR21912.
llvm-svn: 224219
|
| |
|
|
|
|
|
|
| |
some comments, function names, identation.
Reviewed here: http://reviews.llvm.org/D6527
llvm-svn: 224218
|
| |
|
|
|
|
|
|
| |
This mirrors the behavior of APInt::udiv and APInt::urem. Some
architectures, like X86, have a single instruction which can compute
both division and remainder.
llvm-svn: 224217
|
| |
|
|
|
|
| |
This is just a code simplification, no functionality change is intended.
llvm-svn: 224216
|
| |
|
|
|
|
|
| |
Restricting this "extension" to array types maximizes our standards
conformance while not miscompiling real-world programs.
llvm-svn: 224215
|