| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
itself upon initialization, such as using itself within its own copy constructor.
struct S {};
S s(s);
llvm-svn: 138969
|
| |
|
|
| |
llvm-svn: 138968
|
| |
|
|
|
|
| |
Duncan noticed this!
llvm-svn: 138967
|
| |
|
|
| |
llvm-svn: 138966
|
| |
|
|
|
|
| |
anyone is actually using this, but might as well fix it since I found the issue.)
llvm-svn: 138965
|
| |
|
|
| |
llvm-svn: 138964
|
| |
|
|
|
|
|
| |
Remove broken emacs mode major notation marking a C++ file as C.
No functionality change.
llvm-svn: 138963
|
| |
|
|
|
|
| |
instructions. Found by inspection; not sure what practical impact, if any, this has.
llvm-svn: 138962
|
| |
|
|
|
|
| |
not check to see if this is the last character in the stream and thus never set eofbit. This fixes http://llvm.org/bugs/show_bug.cgi?id=10817 . This fix requires a recompiled libc++.dylib to be fully implemented. The recompiled libc++.dylib is ABI compatible with that shipped on Lion.
llvm-svn: 138961
|
| |
|
|
|
|
|
|
| |
Objective-C method buffering(rdar://10056942)
Turned out the same issue existed for C++ inline methods.
llvm-svn: 138960
|
| |
|
|
|
|
|
|
|
| |
LangOptions, rather than making distinct copies of
LangOptions. Granted, LangOptions doesn't actually get modified, but
this will eventually make it easier to construct ASTContext and
Preprocessor before we know all of the LangOptions.
llvm-svn: 138959
|
| |
|
|
|
|
| |
for now.
llvm-svn: 138958
|
| |
|
|
| |
llvm-svn: 138957
|
| |
|
|
| |
llvm-svn: 138955
|
| |
|
|
| |
llvm-svn: 138954
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An instruction may define part of a register where the other bits are
undefined. In that case, it is safe to rematerialize the instruction.
For example:
%vreg2:ssub_0<def> = VLDRS <cp#0>, 0, pred:14, pred:%noreg, %vreg2<imp-def>
The extra <imp-def> operand indicates that the instruction does not read
the other parts of the virtual register, so a remat is safe.
This patch simply allows multiple def operands for the virtual register.
It is MI->readsVirtualRegister() that determines if we depend on a
previous value so remat is impossible.
llvm-svn: 138953
|
| |
|
|
| |
llvm-svn: 138952
|
| |
|
|
|
|
| |
only one use. Fix PR10825.
llvm-svn: 138951
|
| |
|
|
|
|
|
|
| |
a data using DataEncoder.
Added DataEncoder to the lldb-forward.h file.
llvm-svn: 138950
|
| |
|
|
|
|
| |
can reserve a block of memory and store stuff into it.
llvm-svn: 138949
|
| |
|
|
| |
llvm-svn: 138948
|
| |
|
|
|
|
| |
This concludes //rdar://8843851
llvm-svn: 138947
|
| |
|
|
| |
llvm-svn: 138946
|
| |
|
|
|
|
|
|
|
| |
The problem is fixed for all register allocators by r138944, so this
patch is no longer necessary.
<rdar://problem/10032939>
llvm-svn: 138945
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
An instruction that redefines only part of a larger register can never
be rematerialized since the virtual register value depends on the old
value in other parts of the register.
This was fixed for the inline spiller in r138794. This patch fixes the
problem for all register allocators, and includes a small test case.
<rdar://problem/10032939>
llvm-svn: 138944
|
| |
|
|
|
|
|
|
|
|
|
| |
include guards don't show up as macro definitions in every translation
unit that imports a module. Macro definitions can, however, be
exported with the intentionally-ugly #__export_macro__
directive. Implement this feature by not even bothering to serialize
non-exported macros to a module, because clients of that module need
not (should not) know that these macros even exist.
llvm-svn: 138943
|
| |
|
|
|
|
| |
I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests.
llvm-svn: 138942
|
| |
|
|
|
|
|
| |
and doing a simple search. Before we would manually check for the linker
before the -B options were searched.
llvm-svn: 138941
|
| |
|
|
| |
llvm-svn: 138940
|
| |
|
|
|
|
|
|
| |
free() is returned by realloc(). Most code expect NULL.
And we only need to transfer one final ProgramState.
llvm-svn: 138937
|
| |
|
|
| |
llvm-svn: 138936
|
| |
|
|
|
|
|
|
| |
semantic analysis when taking the address of an xvalue. Instead, just
build the unary operator directly, since it's safe to do so (from the
IRgen and AST perspectives) for any glvalue. Fixes PR10822.
llvm-svn: 138935
|
| |
|
|
|
|
| |
Sorry, I can't come up with a small test case. rdar://10043690
llvm-svn: 138934
|
| |
|
|
| |
llvm-svn: 138933
|
| |
|
|
|
|
| |
which should be removed only when its invokes are.
llvm-svn: 138932
|
| |
|
|
| |
llvm-svn: 138931
|
| |
|
|
|
|
| |
The landingpad instruction can be removed only when its invokes are removed.
llvm-svn: 138930
|
| |
|
|
|
|
| |
-f" to work, that had gotten broken at some point in the past.
llvm-svn: 138929
|
| |
|
|
| |
llvm-svn: 138928
|
| |
|
|
| |
llvm-svn: 138927
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The initial incentive was to fix a crash when PCH chaining categories
to an interface, but the fix was done in the "modules way" that I hear
is popular with the kids these days.
Each module stores the local chain of categories and we combine them
when the interface is loaded. We also warn if non-dependent modules
introduce duplicate named categories.
llvm-svn: 138926
|
| |
|
|
| |
llvm-svn: 138925
|
| |
|
|
|
|
|
|
|
| |
Added canClobberReachingPhysRegUse() to handle a particular pattern in
which a two-address instruction could be forced to interfere with
EFLAGS, causing a compare to be unnecessarilly cloned.
Fixes rdar://problem/5875261
llvm-svn: 138924
|
| |
|
|
|
|
|
|
| |
InstructionList.
This was found via a nightly build of 483.xalancbmk.
llvm-svn: 138923
|
| |
|
|
| |
llvm-svn: 138922
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(unsurprisingly) caret diagnostics. This is designed to bring some
organization to the monstrous EmitCaretDiagnostic function, and allow
factoring it more easily and with less mindless parameter passing.
Currently this just lifts the existing function into a method, and
splits off the obviously invariant arguments to be class members. No
functionality is changed, and there are still lots of warts to let
existing code continue functioning as-is. Definitely WIP, more cleanups
to follow.
llvm-svn: 138921
|
| |
|
|
| |
llvm-svn: 138920
|
| |
|
|
|
|
| |
Tool..) due to a merge error.
llvm-svn: 138919
|
| |
|
|
| |
llvm-svn: 138918
|
| |
|
|
| |
llvm-svn: 138917
|