| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Thanks Bob Wilson for noticing it!
llvm-svn: 132851
|
| |
|
|
|
|
|
| |
Create a new CodeGenRegBank class that will eventually hold all the code
that computes the register structure from Records.
llvm-svn: 132849
|
| |
|
|
| |
llvm-svn: 132844
|
| |
|
|
|
|
| |
to study it.
llvm-svn: 132843
|
| |
|
|
| |
llvm-svn: 132842
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I believe, upon, careful review, that this code causes us to incorrectly
handle exception specifications of copy assignment operators in C++03
mode. However, we currently do not seem to properly implement the subtle
distinction between copying of members and bases made by implicit copy
constructors and assignment operators in C++03 - namely that they are
limited in their overload selection - in all cases. As such, I feel that
committing this code is correct pending a careful review of our
implementation of these semantics.
llvm-svn: 132841
|
| |
|
|
|
|
|
|
| |
expressions (by calling IgnoreParens before adding expressions to blocks). Undo 132769 (LiveVariables' local IgnoreParens), since it's no longer necessary.
Also, have Environment stop looking through NoOp casts; it didn't match the behavior of LiveVariables. And once that's gone, the whole cast block of that switch is unnecessary.
llvm-svn: 132840
|
| |
|
|
| |
llvm-svn: 132839
|
| |
|
|
| |
llvm-svn: 132836
|
| |
|
|
| |
llvm-svn: 132835
|
| |
|
|
| |
llvm-svn: 132834
|
| |
|
|
|
|
|
|
| |
isn't yet used for the less controlled environments of initialization.
Also a few random text fixups.
llvm-svn: 132833
|
| |
|
|
| |
llvm-svn: 132832
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Wmismatched-tags.
- Removed fix-it hints from template instaniations since changes to the
templates are rarely helpful.
- Changed the caret in template instaniations from the class/struct name to the
class/struct keyword, matching the other warnings.
- Do not offer fix-it hints when multiple declarations disagree. Warnings are
still given.
- Once a definition is found, offer a fix-it hint to all previous declarations
with wrong tag.
- Declarations that disagree with a previous definition will get a fix-it hint
to change the declaration.
llvm-svn: 132831
|
| |
|
|
| |
llvm-svn: 132830
|
| |
|
|
| |
llvm-svn: 132829
|
| |
|
|
| |
llvm-svn: 132828
|
| |
|
|
| |
llvm-svn: 132827
|
| |
|
|
|
|
| |
creates loads like this.
llvm-svn: 132826
|
| |
|
|
|
|
|
|
| |
and definitions when emitting global variables. This was causing global
declarations to be emitted as if they were definitions.
Fixes <rdar://problem/9429892>.
llvm-svn: 132825
|
| |
|
|
|
|
| |
operand works.
llvm-svn: 132824
|
| |
|
|
| |
llvm-svn: 132823
|
| |
|
|
| |
llvm-svn: 132822
|
| |
|
|
| |
llvm-svn: 132821
|
| |
|
|
| |
llvm-svn: 132819
|
| |
|
|
|
|
|
|
| |
With this I am able to bootstrap clang with early tail duplication enabled
for any small bb and setting tail-dup-size to a relatively large value(8) to
stress this code.
llvm-svn: 132816
|
| |
|
|
|
|
| |
for structs like the given struct.
llvm-svn: 132815
|
| |
|
|
| |
llvm-svn: 132814
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
to have the value for the map be a "const char *" instead of an unused uint32_t.
This allows us to store the uniqued mangled/demangled counterpart in this map
for mangled names. This also speeds up the mangled/demangled counterpart lookup
that used to be maintained in a STL map by having direct access to the data.
If we eventually need to associate other strings to strings to more data, we
can make the value of the StringMap have a more complex value.
Added the start of a history source and history event class. It isn't being
used by anything yet, but might be shortly.
llvm-svn: 132813
|
| |
|
|
| |
llvm-svn: 132812
|
| |
|
|
|
|
|
|
|
|
|
| |
Prologue state,
causing an assertion failure downstream. This fixes <rdar://problem/9562908>.
This really seems like it should always be set at CCState creation time, so mistakes like
this can never happen. I'll take a look at doing that.
llvm-svn: 132811
|
| |
|
|
|
|
|
|
| |
matches the ordering we prefer in instcombine. Part of rdar://9562809.
The potential DAGCombine which enforces this more generally messes up some other very fragile patterns, so I'm leaving that alone, at least for now.
llvm-svn: 132809
|
| |
|
|
| |
llvm-svn: 132808
|
| |
|
|
|
|
|
|
| |
If two SBAddress's have the same module and file address, they are considered equal.
Add a test snippet 'sa1 == sa2' to exercise the rich comparison methods for SBAddress.
llvm-svn: 132807
|
| |
|
|
|
|
| |
eh edges. Swap the order of the checks to avoid it.
llvm-svn: 132806
|
| |
|
|
| |
llvm-svn: 132805
|
| |
|
|
| |
llvm-svn: 132803
|
| |
|
|
|
|
|
|
| |
VK_PPC_{HA,LO}16 into darwin and gas variants.
Darwin wants {ha,lo}16(symbol) while gnu as wants symbol@{ha,l}.
llvm-svn: 132802
|
| |
|
|
| |
llvm-svn: 132800
|
| |
|
|
|
|
|
|
|
|
|
|
| |
pad, separating the exception and selector calls from the new lpad. Teaching
it not to do that, or to properly adjust the CFG afterwards, is out of
scope because it would require the other edges to the landing pad to be split
as well (effectively). Instead, just recover from the most likely cases
during inlining. The best long-term solution is to change the exception
representation and commit to either requiring or not requiring the more
complex edge-splitting logic; this is just a shorter-term hack.
llvm-svn: 132799
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 132798
|
| |
|
|
| |
llvm-svn: 132797
|
| |
|
|
| |
llvm-svn: 132795
|
| |
|
|
|
|
| |
// rdar://9566314
llvm-svn: 132791
|
| |
|
|
|
|
| |
switch. (face+palm)
llvm-svn: 132790
|
| |
|
|
|
|
| |
do fast-isel, then try to fold instructions. PR10092.
llvm-svn: 132789
|
| |
|
|
|
|
|
|
|
|
|
| |
I'll be moving some more code there to gather all of the
register-specific stuff in one place. Currently it is shared between
CodeGenTarget and RegisterInfoEmitter.
The plan is that CodeGenRegisters can compute the full register bank
structure while RegisterInfoEmitter only will handle the printing part.
llvm-svn: 132788
|
| |
|
|
|
|
| |
inline-asm-multichar.c test per this change.
llvm-svn: 132785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow-up to r132565, and should address the rest of PR9969:
Warn about cases such as
int foo(A a, bool b) {
return a + b ? 1 : 2; // user probably meant a + (b ? 1 : 2);
}
also when + is an overloaded operator call.
llvm-svn: 132784
|
| |
|
|
|
|
| |
range checking for immediate operands. Radar 9558930.
llvm-svn: 132783
|