summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Grammar.Jim Grosbach2010-10-261-1/+1
| | | | llvm-svn: 117388
* Nuke extraneous comment. It's applicable elsewhere, but not in this func.Jim Grosbach2010-10-261-2/+0
| | | | llvm-svn: 117387
* Factor out the code for emitting code to load vtable pointer membersDan Gohman2010-10-264-15/+16
| | | | | | so that it's done in one place. llvm-svn: 117386
* Tests for NEON encoding of vrecpe, vrecps, vrsqrte, and vsqrts.Owen Anderson2010-10-261-0/+119
| | | | llvm-svn: 117385
* Jakob's review of the basic register allocator.Andrew Trick2010-10-264-113/+160
| | | | llvm-svn: 117384
* Remove inappropriate if-clause in regex name resolution that wasCaroline Tice2010-10-261-2/+1
| | | | | | causing modules that haven't already been parsed from being searched. llvm-svn: 117383
* Tests for NEON encodings of vpmin and vpmax.Owen Anderson2010-10-261-0/+146
| | | | llvm-svn: 117382
* Something is seriously wonky with this testDouglas Gregor2010-10-261-2/+6
| | | | llvm-svn: 117381
* Add correct NEON encoding for vpadal.Owen Anderson2010-10-262-6/+130
| | | | llvm-svn: 117380
* handle X86::EH_RETURN64 and X86::EH_RETURN.Rafael Espindola2010-10-261-0/+17
| | | | llvm-svn: 117378
* Tests for NEON encoding of vpadd and vpaddl.Owen Anderson2010-10-261-0/+155
| | | | llvm-svn: 117377
* s/beginScope/beginInstruction/gDevang Patel2010-10-263-10/+10
| | | | | | s/endScope/endInstruction/g llvm-svn: 117376
* Add NEON encodings for vmov and vmvn of immediates.Owen Anderson2010-10-264-13/+209
| | | | llvm-svn: 117374
* Fix silly typoDouglas Gregor2010-10-261-1/+1
| | | | llvm-svn: 117373
* Teach typo correction not to return the same keyword that matches aDouglas Gregor2010-10-262-1/+29
| | | | | | | | typo. This can happen with context-sensitive keywords like "super", when typo correction didn't know that "super" wasn't permitted in this context. llvm-svn: 117372
* Don't verify physical registers going into landing pads.Jakob Stoklund Olesen2010-10-261-0/+8
| | | | | | Magic is happening that we don't understand. llvm-svn: 117370
* Implement some relaxations for arithmetic instructions. The limitationRafael Espindola2010-10-262-12/+167
| | | | | | | on RIP relative relocations looks artificial, but this is a superset of what we were able to do before. llvm-svn: 117364
* Yet another thing that was forgotten to be added to the release notes...Duncan Sands2010-10-261-0/+5
| | | | llvm-svn: 117362
* Add an unwind log Printf to note when an eh_frame section isJason Molenda2010-10-263-149/+226
| | | | | | | | | | | | | | | | | loaded/parsed. Should add timers to this eventually. Delay getting a full UnwindPlan if it's possible to unwind with just a fast UnwindPlan. This keeps us from reading the eh_frame section unless we hit something built -fomit-frame pointer or we hit a frame with no symbol (read: no start address) available. It doesn't look like it is correctly falling back to using the full UnwindPlan to provide additional registers that the fast UnwindPlan doesn't supply; e.g. go to the middle of a stack and ask for r12 and it will show you the value of r12 in frame 0. That's a bug for tomorrow. llvm-svn: 117361
* Change v64 datalayout in SPU.Kalle Raiskila2010-10-263-3/+16
| | | | | | | | | | | | | | The SPU ABI does not mention v64, and all examples in C suggest v128 are treated similarily to arrays, we use array alignment for v64 too. This makes the alignment of e.g. [2 x <2 x i32>] behave "intuitively" and similar to as if the elements were e.g. i32s. This also makes an "unaligned store" test to be aligned, with different (but functionally equivalent) code generated. llvm-svn: 117360
* Optimize field space usage in CompoundStmt, LabelStmt, Expr, and CastExpr.John McCall2010-10-264-87/+139
| | | | | | | | | There's probably still significant padding waste on x86-64 UNIXen, but the difference in 32-bit compiles should be significant. There are a lot of Expr nodes left that could lose a word this way. llvm-svn: 117359
* No really, we don't have a retain/release system for statements/expressionsJohn McCall2010-10-2614-171/+119
| | | | | | anymore. llvm-svn: 117357
* Cookie crumbs.John McCall2010-10-261-0/+1
| | | | llvm-svn: 117356
* Actually, that doesn't really work, and anyway we should chooseJohn McCall2010-10-262-11/+2
| | | | | | conversion to id over conversion to void*. llvm-svn: 117355
* Consider conversions of Objective-C pointers to 'id' to be basically ofJohn McCall2010-10-262-24/+54
| | | | | | | | | | the same rank as conversions of normal pointers to 'void*'. Also, resurrect a test case. Fixes rdar://problem/8592139 llvm-svn: 117354
* Delay complete-type checking for arguments to no-prototype functionsDouglas Gregor2010-10-261-12/+6
| | | | | | | | until after we've checked/promoted the argument. Hopefully fixes the Emacs regression due to my recent change that expanded type-checking in the presence of K&R function definitions. llvm-svn: 117353
* CMake: Build utils/KillTheDoctor only on MSVC for now.NAKAMURA Takumi2010-10-261-1/+1
| | | | | | | Mingw does not have the header <dbghelp.h>. Thanks to Daniel Newton, testing it on mingw. llvm-svn: 117352
* A couple of tweaks to the visibility rules: John McCall2010-10-265-27/+76
| | | | | | | | | | | - tags with C linkage should ignore visibility=hidden - functions and variables with explicit visibility attributes should ignore the linkage of their types Either of these should be sufficient to fix PR8457. Also, FileCheck-ize a test case. llvm-svn: 117351
* Don't indent log lines by frame # spaces if the frame # exceeds 100 - the ↵Jason Molenda2010-10-262-33/+46
| | | | | | | | | | | | indentation gets to be a problem if you have a unbounded stack walk. Fix the CFA sanity checks. Add one to the arch default UnwindPlan run which was giving one extra stack frame on the main thread. Fix a couple of logging lines that had their argument order incorrect. llvm-svn: 117350
* First pass at adding logging capabilities for the API functions. At the momentCaroline Tice2010-10-2650-107/+2069
| | | | | | | | | | | | | | | | | | it logs the function calls, their arguments and the return values. This is not complete or polished, but I am committing it now, at the request of someone who really wants to use it, even though it's not really done. It currently does not attempt to log all the functions, just the most important ones. I will be making further adjustments to the API logging code over the next few days/weeks. (Suggestions for improvements are welcome). Update the Python build scripts to re-build the swig C++ file whenever the python-extensions.swig file is modified. Correct the help for 'log enable' command (give it the correct number & type of arguments). llvm-svn: 117349
* Use instruction itinerary to determine what instructions are 'cheap'.Evan Cheng2010-10-265-4/+69
| | | | llvm-svn: 117348
* NEON vmov's are in Neon domain.Evan Cheng2010-10-261-1/+1
| | | | llvm-svn: 117347
* Pending further discussion, re-enable warnings for Objective CJohn McCall2010-10-265-16/+77
| | | | | | | | | | | covariant/contravariant overrides and implementations, but do so under control of a new flag (-Wno-objc-covariant-overrides, which yes does cover contravariance too). *At least* the covariance cases will probably be enabled by default shortly, but that's not totally uncontroversial. llvm-svn: 117346
* For statistics that are only used in functions declared in !NDEBUG, wrap theNick Lewycky2010-10-262-0/+5
| | | | | | | declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by Matt Beaumont-Gay! llvm-svn: 117345
* When de-serializing a type that is supposed to be canonical, callDouglas Gregor2010-10-264-23/+44
| | | | | | | | | | | | | getCanonicalType() to make sure that the type we got back is actually canonical. This is the case for most types, which always build a canonical type when given canonical components. However, some types that involve expressions in their canonicalization (e.g., array types with dependent sizes) don't always build canonical types from canonical components, because there is no such thing as a "canonical" expression. Therefore, we do this extra mapping to ensure that the canonical types we store are actually canonical. llvm-svn: 117344
* Get a disassembler based on the correct architecture for assemblyJason Molenda2010-10-263-67/+96
| | | | | | | | | | | | prologue profiling. Change the log print statements to elide the thread number, make some of them only print when IsLogVerbose(). Add a couple of sanity checks for impossible CFA values so backtraces don't go too far off into the weeds. llvm-svn: 117343
* Fixed a problem where function calls on i386 weren't Sean Callanan2010-10-264-3/+19
| | | | | | | | | being generated correctly. Also added a messy way to single-step through expressions that I will improve soon. llvm-svn: 117342
* The call function thread plan should allow internal breakpoints to continue ↵Jim Ingham2010-10-262-2/+49
| | | | | | | | on. Also made stopping in mid-expression evaluation when we hit a breakpoint/signal work. llvm-svn: 117341
* InlineSpiller can also update LiveStacks.Jakob Stoklund Olesen2010-10-261-0/+9
| | | | llvm-svn: 117338
* Make the spiller responsible for updating the LiveStacks analysis.Jakob Stoklund Olesen2010-10-264-34/+23
| | | | llvm-svn: 117337
* Fix lazy symbolication bug in RegionStore involving fields of global ↵Ted Kremenek2010-10-262-4/+34
| | | | | | | | | | | variables. When invalidated, the entire globals memory space gets assigned a symbolic value, but that value was not being used for lazy symbolication of fields of globals. This could result in cases where bogus null dereferences were being reported. Fixes PR 8440. llvm-svn: 117336
* Move 'includeGlobals' as a field into ClusterAnalysis.Ted Kremenek2010-10-261-8/+12
| | | | llvm-svn: 117335
* Tweak null dereference checker to give better diagnostics for null ↵Ted Kremenek2010-10-263-27/+55
| | | | | | dereferences resulting from array accesses. llvm-svn: 117334
* When the "true" and "false" blocks of a diamond if-conversion are the same,Bob Wilson2010-10-263-56/+81
| | | | | | | | | | | | | | | | do not double-count the duplicate instructions by counting once from the beginning and again from the end. Keep track of where the duplicates from the beginning ended and don't go past that point when counting duplicates at the end. Radar 8589805. This change causes one of the MC/ARM/simple-fp-encoding tests to produce different (better!) code without the vmovne instruction being tested. I changed the test to produce vmovne and vmoveq instructions but moving between register files in the opposite direction. That's not quite the same but predicated versions of those instructions weren't being tested before, so at least the test coverage is not any worse, just different. llvm-svn: 117333
* Change if-conversion to keep track of the extra cost due to microcodedBob Wilson2010-10-261-11/+25
| | | | | | | | | instructions separately from the count of non-predicated instructions. The instruction count is used in places to determine how many instructions to copy, predicate, etc. and things get confused if that count includes the extra cost for microcoded ops. llvm-svn: 117332
* Tidy up redundant check.Bob Wilson2010-10-261-1/+1
| | | | llvm-svn: 117331
* Add an extra SPC character after '.' for the 'frame variable' help text.Johnny Chen2010-10-251-1/+1
| | | | llvm-svn: 117330
* Neuter r117193 as it causes significant post-ra scheduler compile time ↵Evan Cheng2010-10-251-2/+2
| | | | | | regression. llvm-svn: 117329
* Add infrastructure for emitting TBAA metadata with the "constant" flag.Dan Gohman2010-10-252-4/+16
| | | | llvm-svn: 117328
* Tests for NEON encoding of vmax.Owen Anderson2010-10-251-0/+146
| | | | llvm-svn: 117327
OpenPOWER on IntegriCloud