| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Str may be smaller than Start->Name here. Use strncmp to avoid scanning past the
end. Found by valgrind.
llvm-svn: 165157
|
| |
|
|
|
|
|
| |
false is used as a baseline here, we may want to allow contraction in some of
the cases. Found by valgrind.
llvm-svn: 165156
|
| |
|
|
|
|
| |
in <__config>.
llvm-svn: 165151
|
| |
|
|
|
|
| |
Alias.
llvm-svn: 165150
|
| |
|
|
|
|
|
|
|
| |
This parameter is useless because nowhere used explicitly and always
gets its default value - "false".
The patch reviewed by Rafael Espindola.
llvm-svn: 165149
|
| |
|
|
|
|
|
|
|
|
|
| |
load and
multiple stores with a single load. We create the wide loads and stores (and their chains)
before we remove the scalar loads and stores and fix the DAG chain. We attempted to merge
loads with a different chain. When that happened, the assumption that it is safe to RAUW
broke and a cycle was introduced.
llvm-svn: 165148
|
| |
|
|
| |
llvm-svn: 165147
|
| |
|
|
| |
llvm-svn: 165144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the pieces for this were already in place, but a proper EmitVAArg
is needed for aggregates and complex numbers to be handled. Although the
va_list for 64-bit PowerPC SVR4 consists of GPRs 3 through 10 together with
the overflow portion of the parameter save area, we can treat va_list as
pointing to contiguous memory for all parameters, since the back end forces
the parameter GPRs to memory for varargs functions.
There is no need at this time to model parameters and return values beyond
what the DefaultABIInfo provides.
llvm-svn: 165143
|
| |
|
|
| |
llvm-svn: 165142
|
| |
|
|
| |
llvm-svn: 165141
|
| |
|
|
|
|
|
|
| |
not "unsigned long long".
while there add more test cases.
llvm-svn: 165140
|
| |
|
|
|
|
|
| |
which is neither correct nor necessary. The use of this routine was
eliminated by r165137.
llvm-svn: 165139
|
| |
|
|
| |
llvm-svn: 165138
|
| |
|
|
|
|
|
| |
the ASTReader doesn't attach a body to a function that is already
defined elsewhere.
llvm-svn: 165137
|
| |
|
|
|
|
| |
rejected
llvm-svn: 165136
|
| |
|
|
| |
llvm-svn: 165135
|
| |
|
|
| |
llvm-svn: 165134
|
| |
|
|
|
|
|
| |
that doesn't have a 'self' as this implicitly captures 'self' and could
create retain cycles. Provide fixit. // rdar://11194874
llvm-svn: 165133
|
| |
|
|
|
|
| |
enums. This allows for better encapsulation of the Attributes class.
llvm-svn: 165132
|
| |
|
|
|
|
|
|
|
|
| |
1. Add mipsel-linux-android to the list of valid MIPS target triples.
2. Add <gcc install path>/mips-r2 to the list of toolchain specific path
prefixes if target is mipsel-linux-android.
The patch reviewed by Logan Chien.
llvm-svn: 165131
|
| |
|
|
|
|
| |
and by specifying a target.
llvm-svn: 165130
|
| |
|
|
|
|
|
|
|
|
| |
fast div/rem instruction (for Intel Atom).
Test case for llvm commit 165126.
Patch by Tyler Nowicki.
llvm-svn: 165129
|
| |
|
|
|
|
| |
Patch by Amara Emerson.
llvm-svn: 165128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction (for Intel Atom) was not being done by Clang, because
the type context used by Clang is not the default context.
It fixes the problem by getting the global context types for each div/rem
instruction in order to compare them against the types in the BypassTypeMap.
Tests for this will be done as a separate patch to Clang.
Patch by Tyler Nowicki.
llvm-svn: 165126
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
optimization
is not profitable in many cases because modern processors perform multiple stores
in parallel and merging stores prior to merging requires extra work. We handle two main cases:
1. Store of multiple consecutive constants:
q->a = 3;
q->4 = 5;
In this case we store a single legal wide integer.
2. Store of multiple consecutive loads:
int a = p->a;
int b = p->b;
q->a = a;
q->b = b;
In this case we load/store either ilegal vector registers or legal wide integer registers.
llvm-svn: 165125
|
| |
|
|
|
|
|
|
|
| |
...and fix the run line so that the expected warnings are the same on
all platforms.
This reverts r165088 / d09074f0ca06626914108f1c0d4e70adeb851e01.
llvm-svn: 165124
|
| |
|
|
|
|
|
|
|
| |
Corrects a problem whereby MCSchedModel was not being set up when
the CPU type was auto-detected.
Patch by Andy Zhang.
llvm-svn: 165122
|
| |
|
|
| |
llvm-svn: 165120
|
| |
|
|
| |
llvm-svn: 165119
|
| |
|
|
| |
llvm-svn: 165118
|
| |
|
|
|
|
| |
Part of PR14005.
llvm-svn: 165117
|
| |
|
|
|
|
| |
Currently, it's ignored if the number of set bits isn't divisible by 4.
llvm-svn: 165116
|
| |
|
|
|
|
|
|
|
| |
http://clang.llvm.org/docs/ClangTools.html, this adds -fixit option to
clang-check. Thus, clang-check can become a general-purpose tool to run
clang capitalizing on the info stored in a compilation database.
Review: http://llvm-reviews.chandlerc.com/D51
llvm-svn: 165110
|
| |
|
|
| |
llvm-svn: 165109
|
| |
|
|
| |
llvm-svn: 165108
|
| |
|
|
| |
llvm-svn: 165107
|
| |
|
|
| |
llvm-svn: 165106
|
| |
|
|
| |
llvm-svn: 165105
|
| |
|
|
|
|
| |
regex for version tuples.
llvm-svn: 165104
|
| |
|
|
|
|
|
|
| |
can't have the logic here to add in the 'tools/{driver,libclang}' directories,
because they will be added in for ALL Makefiles which #include the top-level
one. Place the logic into the 'tools' Makefile.
llvm-svn: 165103
|
| |
|
|
|
|
| |
not propagate through implicit defs.
llvm-svn: 165102
|
| |
|
|
|
|
|
|
| |
a memcpy to reflect that '0' has a different meaning when applied to
a load or store. Now we correctly use underaligned loads and stores for
the test case added.
llvm-svn: 165101
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
necessary during rewriting. As part of this, fix a real think-o here
where we might have left off an alignment specification when the address
is in fact underaligned. I haven't come up with any way to trigger this,
as there is always some other factor that reduces the alignment, but it
certainly might have been an observable bug in some way I can't think
of. This also slightly changes the strategy for placing explicit
alignments on loads and stores to only do so when the alignment does not
match that required by the ABI. This causes a few redundant alignments
to go away from test cases.
I've also added a couple of tests that really push on the alignment that
we end up with on loads and stores. More to come here as I try to fix an
underlying bug I have conjectured and produced test cases for, although
it's not clear if this bug is the one currently hitting dragonegg's
gcc47 bootstrap.
llvm-svn: 165100
|
| |
|
|
|
|
| |
more detail.
llvm-svn: 165099
|
| |
|
|
| |
llvm-svn: 165098
|
| |
|
|
| |
llvm-svn: 165097
|
| |
|
|
|
|
| |
full compiler_rt and libprofile
llvm-svn: 165096
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* nullptr used to be mapped to ERROR, now mapped to nullptr
* integral was missing
* expressions now have their own error message, so they won't reach
this. Map them to ERROR.
Note that clang usually crashes before emitting this diagnostic anyway
(see PR13984), so this change alone doesn't have an observable effect.
It makes the code more correct though.
llvm-svn: 165095
|
| |
|
|
| |
llvm-svn: 165094
|