| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
A value number is a PHI def if and only if it begins at a block
boundary. This can be derived from the def slot, a separate flag is not
necessary.
llvm-svn: 160893
|
| |
|
|
|
|
|
|
|
| |
This option replaces the existing live interval computation with one
based on LiveRangeCalc.cpp. The new algorithm does not depend on
LiveVariables, and it can be run at any time, before or after leaving
SSA form.
llvm-svn: 160892
|
| |
|
|
|
|
|
|
|
| |
hex: ) during comment parsing.
Now internal representation of plain text in comment AST does not contain
character references, but the characters themselves.
llvm-svn: 160891
|
| |
|
|
| |
llvm-svn: 160890
|
| |
|
|
|
|
| |
readable.
llvm-svn: 160889
|
| |
|
|
|
|
| |
Patch by Tyler Nowicki!
llvm-svn: 160888
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
sel_getName() calls are generated for all Objective-C
selectors before static literals are moved to the
static allocation. This prevents errors of the form
Internal error [IRForTarget]: Couldn't change a static
reference to an Objective-C selector to a dynamic
reference
<rdar://problem/11331906>
llvm-svn: 160887
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang's -Wformat fix-its currently suggest using "%zu" for values of
type size_t (in C99 or C++11 mode). However, for a type such as
std::vector<T>::size_type, it does not notice that type is actually
typedeffed to size_t, and instead suggests a format for the underlying
type, such as "%lu" or "%u".
This commit makes the format string fix mechanism walk the typedef chain
so that it notices if the type is size_t, even if that isn't "at the
top".
llvm-svn: 160886
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Also, fix a subtle bug, which occurred due to lookupPrivateMethod
defined in DeclObjC.h not looking up the method inside parent's
categories.
Note, the code assumes that Class's parent object has the same methods
as what's in the Root class of a the hierarchy, which is a heuristic
that might not hold for hierarchies which do not descend from NSObject.
Would be great to fix this in the future.
llvm-svn: 160885
|
| |
|
|
|
|
|
| |
We are currently not setting the self object to the calling class object
during inlining nor do we reason about [AAA class].
llvm-svn: 160884
|
| |
|
|
| |
llvm-svn: 160883
|
| |
|
|
|
|
| |
Also add assertions to validate the iterator in the insert method overloads.
llvm-svn: 160882
|
| |
|
|
| |
llvm-svn: 160881
|
| |
|
|
| |
llvm-svn: 160880
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __BYTE_ORDER__ predefined macro was added in GCC 4.6:
http://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html
It's used like the following:
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
...
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
...
#else
#error insane architecture like the pdp-11
#endif
There's a similar macro, __FLOAT_WORD_ORDER__, but it looks like it
mainly exist to accommodate fairly obscure architectures and ARM's
old FPA instructions, so it doesn't seem nearly as useful.
The tests are updated to check for the correct(at least, based on
clang's current output) value of the macro on each target. So now the
suite will catch bugs like the one fixed in r157626.
llvm-svn: 160879
|
| |
|
|
| |
llvm-svn: 160876
|
| |
|
|
| |
llvm-svn: 160875
|
| |
|
|
|
|
|
|
| |
self-referencing select inst.
This can happen as long as the instruction is not reachable. Instcombine does generate these unreachable malformed selects when doing RAUW
llvm-svn: 160874
|
| |
|
|
| |
llvm-svn: 160873
|
| |
|
|
| |
llvm-svn: 160871
|
| |
|
|
| |
llvm-svn: 160866
|
| |
|
|
|
|
|
|
| |
Move some functions from MCRegisterInfo.h that don't need to be inline.
This shrinks llc by 8K.
llvm-svn: 160865
|
| |
|
|
|
|
| |
llvm::report_fatal_error.
llvm-svn: 160864
|
| |
|
|
|
|
| |
functions (Go runtime)
llvm-svn: 160863
|
| |
|
|
|
|
| |
reported anyway)
llvm-svn: 160861
|
| |
|
|
| |
llvm-svn: 160860
|
| |
|
|
| |
llvm-svn: 160857
|
| |
|
|
|
|
| |
sure we always have the right end.
llvm-svn: 160855
|
| |
|
|
|
|
|
|
| |
The rationale here is that it's hard to write loops containing vector erases and
it only shows up if the vector contains non-trivial objects leading to crashes
when forming them out of garbage memory.
llvm-svn: 160854
|
| |
|
|
|
|
| |
Kralevich (thanks)
llvm-svn: 160853
|
| |
|
|
| |
llvm-svn: 160852
|
| |
|
|
| |
llvm-svn: 160851
|
| |
|
|
| |
llvm-svn: 160850
|
| |
|
|
| |
llvm-svn: 160849
|
| |
|
|
| |
llvm-svn: 160848
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a defaulted special member function until the exception specification is needed
(using the same criteria used for the delayed instantiation of exception
specifications for function temploids).
EST_Delayed is now EST_Unevaluated (using 1330's terminology), and, like
EST_Uninstantiated, carries a pointer to the FunctionDecl which will be used to
resolve the exception specification.
This is enabled for all C++ modes: it's a little faster in the case where the
exception specification isn't used, allows our C++11-in-C++98 extensions to
work, and is still correct for C++98, since in that mode the computation of the
exception specification can't fail.
The diagnostics here aren't great (in particular, we should include implicit
evaluation of exception specifications for defaulted special members in the
template instantiation backtraces), but they're not much worse than before.
Our approach to the problem of cycles between in-class initializers and the
exception specification for a defaulted default constructor is modified a
little by this change -- we now reject any odr-use of a defaulted default
constructor if that constructor uses an in-class initializer and the use is in
an in-class initialzer which is declared lexically earlier. This is a closer
approximation to the current draft solution in core issue 1351, but isn't an
exact match (but the current draft wording isn't reasonable, so that's to be
expected).
llvm-svn: 160847
|
| |
|
|
|
|
|
|
|
|
|
| |
We were treating this like a CXXDefaultArgExpr, but
SubstNonTypeTemplateParmExpr actually appears when a template is
instantiated, i.e. we have all the information necessary to evaluate it.
This allows us to inline functions like llvm::array_lengthof.
<rdar://problem/11949235>
llvm-svn: 160846
|
| |
|
|
|
|
|
|
| |
It's a good thing CallEvents aren't created all over the place yet.
I checked all the uses this time and the private copy constructor
/really/ shouldn't cause any more problems.
llvm-svn: 160845
|
| |
|
|
|
|
|
|
|
|
|
| |
These tables were indexed by [register][subreg index] which made them,
very large and sparse.
Replace them with lists of sub-register indexes that match the existing
lists of sub-registers. MCRI::getSubReg() becomes a very short linear
search, like getSubRegIndex() already was.
llvm-svn: 160843
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now that the weird X86 sub_ss and sub_sd sub-register indexes are gone,
there is no longer a need for the CompositeIndices construct in .td
files. Sub-register index composition can be specified on the
SubRegIndex itself using the ComposedOf field.
Also enforce unique names for sub-registers in TableGen. The same
sub-register cannot be available with multiple sub-register indexes.
llvm-svn: 160842
|
| |
|
|
|
|
|
| |
replace uses of function getMaxCallFrameSize defined in MipsFunctionInfo with
the one MachineFrameInfo has.
llvm-svn: 160841
|
| |
|
|
|
|
|
| |
Passing a temporary via reference parameter still requires a visible
copy constructor.
llvm-svn: 160840
|
| |
|
|
|
|
|
|
| |
retainable types in arc, only suggest CFBridgingRelease/
CFBridgingRetain and not the confusing __bridge casts.
// rdar://11923822
llvm-svn: 160839
|
| |
|
|
|
|
| |
vector
llvm-svn: 160835
|
| |
|
|
| |
llvm-svn: 160833
|
| |
|
|
|
|
| |
I'll remove these two sub-register indexes shortly.
llvm-svn: 160831
|
| |
|
|
|
|
|
|
| |
The (COPY_TO_REGCLASS GR32:$src, VR128) pattern looks odd, but
copyPhysReg does the right thing with it. (The old pattern would
eventually produce the same cross-class copy).
llvm-svn: 160830
|
| |
|
|
|
|
|
|
|
|
|
| |
information if we're not stopped. This could try to read registers
etc when the process is still running and debug builds of lldb would
assert down in GDBRemoteRegisterContext.cpp ReadRegisterBytes because
we couldn't get the sequence mutex for talking to the remote system.
Non-debug builds would just silently fail when doing this.
<rdar://problem/11941758>
llvm-svn: 160829
|
| |
|
|
|
|
| |
their operand
llvm-svn: 160823
|
| |
|
|
| |
llvm-svn: 160822
|