summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Extend the self-reference warning to catch when a constructor references ↵Richard Trieu2011-09-014-13/+141
| | | | | | | | | itself upon initialization, such as using itself within its own copy constructor. struct S {}; S s(s); llvm-svn: 138969
* Reduce indentation. No functionality change.Bill Wendling2011-09-011-17/+18
| | | | llvm-svn: 138968
* Change worklist driven deletion to be an iterative process.Bill Wendling2011-09-012-42/+12
| | | | | | Duncan noticed this! llvm-svn: 138967
* Fix test; sorry for any inconvenience.Eli Friedman2011-09-011-2/+2
| | | | llvm-svn: 138966
* Fix an issue with the IR sink pass found by inspection. (I'm not sure ↵Eli Friedman2011-09-012-7/+22
| | | | | | anyone is actually using this, but might as well fix it since I found the issue.) llvm-svn: 138965
* Add missing newline.Eli Friedman2011-09-011-1/+1
| | | | llvm-svn: 138964
* Fix the build for us -Werror users.Nick Lewycky2011-09-012-37/+24
| | | | | | | Remove broken emacs mode major notation marking a C++ file as C. No functionality change. llvm-svn: 138963
* Make isSafeToSpeculativelyExecute() return the right answer for some new ↵Eli Friedman2011-09-011-0/+4
| | | | | | instructions. Found by inspection; not sure what practical impact, if any, this has. llvm-svn: 138962
* Reimplemented much of <istream> such that single character extractions do ↵Howard Hinnant2011-09-016-217/+177
| | | | | | 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
* [arcmt] Fix test/ARCMT/remove-statements.m regression due toArgyrios Kyrtzidis2011-09-016-33/+88
| | | | | | | | Objective-C method buffering(rdar://10056942) Turned out the same issue existed for C++ inline methods. llvm-svn: 138960
* Teach ASTContext and Preprocessor to hold on to references to the sameDouglas Gregor2011-09-017-14/+17
| | | | | | | | | 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
* default property synthesis is off by defaultFariborz Jahanian2011-09-011-1/+1
| | | | | | for now. llvm-svn: 138958
* Make test slightly trickierDouglas Gregor2011-09-011-0/+3
| | | | llvm-svn: 138957
* XFAIL this test on arm until the backend is fixed.Benjamin Kramer2011-09-011-0/+3
| | | | llvm-svn: 138955
* This test depends on cmov being available.Benjamin Kramer2011-09-011-1/+1
| | | | llvm-svn: 138954
* Permit remat of partial register defs when it is safe.Jakob Stoklund Olesen2011-09-012-5/+34
| | | | | | | | | | | | | | | | | 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
* ARM 'rscs' mnemonic is carry-setting 'rsc', not 'rs' with a 'cs' condition code.Jim Grosbach2011-09-012-1/+3
| | | | llvm-svn: 138952
* Fix vbroadcast matching logic to early unmatch if the node doesn't haveBruno Cardoso Lopes2011-09-012-1/+15
| | | | | | only one use. Fix PR10825. llvm-svn: 138951
* Forgot to write out the NULL terminator when putting C string value intoGreg Clayton2011-09-012-1/+2
| | | | | | | | a data using DataEncoder. Added DataEncoder to the lldb-forward.h file. llvm-svn: 138950
* Added a DataEncoder class for the new IR evaluation expression parser so itGreg Clayton2011-09-013-0/+814
| | | | | | can reserve a block of memory and store stuff into it. llvm-svn: 138949
* Fix up r137380 based on post-commit review by Jim Grosbach.James Molloy2011-09-014-615/+630
| | | | llvm-svn: 138948
* objective-c: Make auto synthesis of properties the default.Fariborz Jahanian2011-09-011-1/+1
| | | | | | This concludes //rdar://8843851 llvm-svn: 138947
* t2Bcc is allowed to have a predicate without a preceding IT instruction.Owen Anderson2011-09-012-1/+8
| | | | llvm-svn: 138946
* Revert r138794, "Do not try to rematerialize a value from a partial definition."Jakob Stoklund Olesen2011-09-011-22/+1
| | | | | | | | | The problem is fixed for all register allocators by r138944, so this patch is no longer necessary. <rdar://problem/10032939> llvm-svn: 138945
* Prevent remat of partial register redefinitions.Jakob Stoklund Olesen2011-09-012-0/+37
| | | | | | | | | | | | | 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
* Modules hide macro definitions by default, so that silly things likeDouglas Gregor2011-09-0115-49/+184
| | | | | | | | | | | 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
* Enable -fdelayed-template-parsing by default on Win32.Francois Pichet2011-09-016-9/+10
| | | | | | 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
* Fix PR10744 by adding the toolchain path to the regular program pathRafael Espindola2011-09-011-5/+6
| | | | | | | and doing a simple search. Before we would manually check for the linker before the -B options were searched. llvm-svn: 138941
* Add 4.4.6 to GccVersions[] in lib/Driver/ToolChains.cpp.Hans Wennborg2011-09-011-1/+1
| | | | llvm-svn: 138940
* If size was equal to 0, either NULL or a pointer suitable to be passed to Zhongxing Xu2011-09-012-6/+3
| | | | | | | | free() is returned by realloc(). Most code expect NULL. And we only need to transfer one final ProgramState. llvm-svn: 138937
* Fix "multi-line comment" compiler error.Argyrios Kyrtzidis2011-09-011-8/+8
| | | | llvm-svn: 138936
* When defining the implicit move assignment operator, don't performDouglas Gregor2011-09-012-20/+38
| | | | | | | | 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
* Teach MachineLICM reg pressure tracking code to deal with MVT::untyped. ↵Evan Cheng2011-09-011-27/+40
| | | | | | Sorry, I can't come up with a small test case. rdar://10043690 llvm-svn: 138934
* Update to new EH scheme.Bill Wendling2011-09-014-0/+14
| | | | llvm-svn: 138933
* Resubmit with fix. Properly remove the instructions except for landingpad, ↵Bill Wendling2011-09-011-9/+28
| | | | | | which should be removed only when its invokes are. llvm-svn: 138932
* Submitted this too early.Bill Wendling2011-09-011-5/+0
| | | | llvm-svn: 138931
* Don't DCE the landingpad instruction.Bill Wendling2011-09-011-0/+5
| | | | | | The landingpad instruction can be removed only when its invokes are removed. llvm-svn: 138930
* disassemble with no arguments disassembles at the pc. Also got "disassemble ↵Jim Ingham2011-09-012-8/+48
| | | | | | -f" to work, that had gotten broken at some point in the past. llvm-svn: 138929
* Update to new EH scheme.Bill Wendling2011-09-019-4/+49
| | | | llvm-svn: 138928
* Update to new EH scheme.Bill Wendling2011-09-015-3/+27
| | | | llvm-svn: 138927
* Support importing of ObjC categories from modules.Argyrios Kyrtzidis2011-09-0111-2/+380
| | | | | | | | | | | | 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
* Update some tests to the new EH scheme.Bill Wendling2011-09-015-1/+27
| | | | llvm-svn: 138925
* PreRA scheduler should avoid cloning compares.Andrew Trick2011-09-012-2/+44
| | | | | | | | | 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
* Don't forget to add the landingpad and resume instructions to the ↵Bill Wendling2011-09-011-0/+2
| | | | | | | | InstructionList. This was found via a nightly build of 483.xalancbmk. llvm-svn: 138923
* Thumb2 assembly parsing and encoding for ADD(immediate).Jim Grosbach2011-09-014-8/+80
| | | | llvm-svn: 138922
* Create a CaretDiagnostic class to hold the logic for emittingChandler Carruth2011-08-312-266/+333
| | | | | | | | | | | | | | (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
* Sink all of the include stack printing logic into its member function.Chandler Carruth2011-08-311-18/+39
| | | | llvm-svn: 138920
* [analyzer] Revert a regression introduced in r133104(The ARC Migration ↵Anna Zaks2011-08-311-4/+6
| | | | | | Tool..) due to a merge error. llvm-svn: 138919
* Fixup for functions that return a bool.Chad Rosier2011-08-311-2/+2
| | | | llvm-svn: 138918
* Test for default property synthesis.Fariborz Jahanian2011-08-311-0/+118
| | | | llvm-svn: 138917
OpenPOWER on IntegriCloud