summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Now the linux platform lets it be known that it can't launch processes forGreg Clayton2011-11-281-0/+6
| | | | | | debugging. llvm-svn: 145221
* Add a blurb about the new ExecutionDepsFix pass.Jakob Stoklund Olesen2011-11-281-1/+4
| | | | llvm-svn: 145220
* CommandObjectProcess was recently changed to automatically use the platformGreg Clayton2011-11-2811-112/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to launch a process for debugging. Since this isn't supported on all platforms, we need to do what we used to do if this isn't supported. I added: bool Platform::CanDebugProcess (); This will get checked before trying to launch a process for debugging and then fall back to launching the process through the current host debugger. This should solve the issue for linux and keep the platform code clean. Centralized logging code for logging errors, warnings and logs when reporting things for modules or symbol files. Both lldb_private::Module and lldb_private::SymbolFile now have the following member functions: void LogMessage (Log *log, const char *format, ...); void ReportWarning (const char *format, ...); void ReportError (const char *format, ...); These will all output the module name and object (if any) such as: "error: lldb.so ...." "warning: my_archive.a(foo.o) ...." This will keep the output consistent and stop a lot of logging calls from having to try and output all of the information that uniquely identifies a module or symbol file. Many places in the code were grabbing the path to the object file manually and if the module represented a .o file in an archive, we would see log messages like: error: foo.a - some error happened llvm-svn: 145219
* Make isCommutedVSHUFP more like the way isCommutedSHUFP is handled.Craig Topper2011-11-281-35/+81
| | | | llvm-svn: 145218
* configure, config.h.in: Regenerate.NAKAMURA Takumi2011-11-283-11/+14
| | | | | | config.h.cmake: Synchronize to config.h.in. llvm-svn: 145217
* Fixed an issue in the DWARFLocationList::Dump() function where default Greg Clayton2011-11-282-2/+8
| | | | | | | arguments were quietly masked as the code changed (modified version of a path from Dawn). llvm-svn: 145216
* use llvm-config.h in public headerDylan Noblesmith2011-11-281-1/+1
| | | | | | | The config.h file's macros collide with other projects that include LLVM and shouldn't get exported. llvm-svn: 145215
* rename ENABLE_THREADS to LLVM_ENABLE_THREADSDylan Noblesmith2011-11-2810-22/+30
| | | | | | | | | | | Now that it needs to be exported in a public header (Valgrind.h) it should be prefixed to avoid collision with other projects. Add it to llvm-config.h as well. This'll require regenerating the configure script after this commit, but I don't have the required autoconf version. llvm-svn: 145214
* update description of LLVM_DEFAULT_TARGET_TRIPLEDylan Noblesmith2011-11-283-9/+9
| | | | | | | It was out of sync with the description in configure.ac/config.h.in. Also re-alphabetize it from its position when it was LLVM_HOST_TRIPLE. llvm-svn: 145213
* Remove incorrect return type from SetHeaderDataByteSize accessor (partialGreg Clayton2011-11-281-1/+1
| | | | | | patch from Dawn). llvm-svn: 145212
* Sigh, another workaround for MSVC.Peter Collingbourne2011-11-281-1/+1
| | | | llvm-svn: 145211
* [arcmt] Don't add __weak if there is already a GC __weak and make sure to clearArgyrios Kyrtzidis2011-11-284-9/+24
| | | | | | __weak from a readonly property. llvm-svn: 145210
* Work around a gcc4.2 bug.Peter Collingbourne2011-11-281-1/+1
| | | | llvm-svn: 145209
* Place the "cfg checksum" around a test. This was recently added in April 2011 toNick Lewycky2011-11-271-67/+67
| | | | | | | | | | | | | gcc, though I thought it was older (my gcc 4.4 has it as a local patch. Whoops!) This fixes PR10589. Also add some debugging statements. Remove GcnoFiles, the mapping from CompilationUnit to raw_ostream. Now that we start by iterating over each CU and descending into them, there's no need to maintain a mapping. llvm-svn: 145208
* dwarf parsing stuff.Chris Lattner2011-11-271-3/+4
| | | | llvm-svn: 145207
* first pass of writing complete!Chris Lattner2011-11-271-22/+24
| | | | llvm-svn: 145206
* arm and carve out a place ot mention segmented stacks.Chris Lattner2011-11-271-10/+12
| | | | llvm-svn: 145204
* In Sema::MaybeBindToTemporary, create a CXXBindTemporaryExpr for anPeter Collingbourne2011-11-273-3/+23
| | | | | | array of objects with non-trivial destructors. PR11365. llvm-svn: 145203
* When destroying temporaries, instead of a custom cleanup use thePeter Collingbourne2011-11-276-41/+12
| | | | | | | | | | | generic pushDestroy function. This would reduce the number of useful declarations in CGTemporaries.cpp to one. Since CodeGenFunction::EmitCXXTemporary does not deserve its own file, move it to CGCleanup.cpp and delete CGTemporaries.cpp. llvm-svn: 145202
* Add a description of the status of segmented stacks.Rafael Espindola2011-11-271-0/+30
| | | | llvm-svn: 145201
* optimize, mc, x86Chris Lattner2011-11-271-63/+58
| | | | llvm-svn: 145200
* Merge detecting and handling for VSHUFPSY and VSHUFPDY since a lot of the ↵Craig Topper2011-11-271-92/+39
| | | | | | code was similar for both. llvm-svn: 145199
* some writing.Chris Lattner2011-11-271-43/+57
| | | | llvm-svn: 145198
* fix some out-of-date attribution.Chris Lattner2011-11-271-2/+1
| | | | llvm-svn: 145197
* distribute various bullets to different sections.Chris Lattner2011-11-271-196/+222
| | | | llvm-svn: 145196
* Prevent rotating the blocks of a loop (and thus getting a backedge to beChandler Carruth2011-11-271-0/+16
| | | | | | | | | | | | | | fallthrough) in cases where we might fail to rotate an exit to an outer loop onto the end of the loop chain. Having *some* rotation, but not performing this rotation, is the primary fix of thep performance regression with -enable-block-placement for Olden/em3d (a whopping 30% regression). Still working on reducing the test case that actually exercises this and the new rotation strategy out of this code, but I want to check if this regresses other test cases first as that may indicate it isn't the correct fix. llvm-svn: 145195
* Make our handling of MMX x SSE closer to what gcc does:Rafael Espindola2011-11-272-11/+47
| | | | | | | | * Enabling sse enables mmx. * Disabling (-mno-mmx) mmx, doesn't disable sse (we got this right already). * The order in not important. -msse -mno-mmx is the same as -mno-mmx -msse. llvm-svn: 145194
* rewrite the known problems section. Including a short list of individual ↵Chris Lattner2011-11-271-137/+23
| | | | | | bugs per target isn't particularly useful. Link to the target features matrix. llvm-svn: 145193
* move the detailed information about the EH rewrite to a comment, Bill isChris Lattner2011-11-271-14/+27
| | | | | | blog'izing it. llvm-svn: 145192
* tweak subprojects' sectionChris Lattner2011-11-271-18/+23
| | | | llvm-svn: 145191
* some random notes.Chris Lattner2011-11-271-25/+26
| | | | llvm-svn: 145190
* Add inreg attributes to reference arguments.Rafael Espindola2011-11-272-1/+8
| | | | llvm-svn: 145189
* remove a test that is using old-style llvm.dbg intrinsics, apparently onlyChris Lattner2011-11-271-264/+0
| | | | | | fails on ppc and arm hosts. llvm-svn: 145188
* Reference initialization with initializer lists.Sebastian Redl2011-11-278-39/+362
| | | | | | This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other initializer lists. llvm-svn: 145186
* Error on non x86 architectures.Rafael Espindola2011-11-271-0/+4
| | | | llvm-svn: 145185
* Fix file name in comments.Rafael Espindola2011-11-271-1/+1
| | | | llvm-svn: 145184
* Take two on rotating the block ordering of loops. My previous attemptChandler Carruth2011-11-272-88/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | was centered around the premise of laying out a loop in a chain, and then rotating that chain. This is good for preserving contiguous layout, but bad for actually making sane rotations. In order to keep it safe, I had to essentially make it impossible to rotate deeply nested loops. The information needed to correctly reason about a deeply nested loop is actually available -- *before* we layout the loop. We know the inner loops are already fused into chains, etc. We lose information the moment we actually lay out the loop. The solution was the other alternative for this algorithm I discussed with Benjamin and some others: rather than rotating the loop after-the-fact, try to pick a profitable starting block for the loop's layout, and then use our existing layout logic. I was worried about the complexity of this "pick" step, but it turns out such complexity is needed to handle all the important cases I keep teasing out of benchmarks. This is, I'm afraid, a bit of a work-in-progress. It is still misbehaving on some likely important cases I'm investigating in Olden. It also isn't really tested. I'm going to try to craft some interesting nested-loop test cases, but it's likely to be extremely time consuming and I don't want to go there until I'm sure I'm testing the correct behavior. Sadly I can't come up with a way of getting simple, fine grained test cases for this logic. We need complex loop structures to even trigger much of it. llvm-svn: 145183
* Revert r145180 as it is causing test failures on all the bots.Chandler Carruth2011-11-2711-150/+44
| | | | | | | | | | | | | Original commit message: Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145182
* Fix an impressive type-o / spell-o Duncan noticed.Chandler Carruth2011-11-271-1/+1
| | | | llvm-svn: 145181
* Fixed ObjectFile functions:Danil Malyshev2011-11-2711-44/+150
| | | | | | | | | | | - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. llvm-svn: 145180
* Rework a bit of the implementation of loop block rotation to not rely soChandler Carruth2011-11-272-22/+70
| | | | | | | | | | | | | | | heavily on AnalyzeBranch. That routine doesn't behave as we want given that rotation occurs mid-way through re-ordering the function. Instead merely check that there are not unanalyzable branching constructs present, and then reason about the CFG via successor lists. This actually simplifies my mental model for all of this as well. The concrete result is that we now will rotate more loop chains. I've added a test case from Olden highlighting the effect. There is still a bit more to do here though in order to regain all of the performance in Olden. llvm-svn: 145179
* Eli managed to kill off llvm.membarrier in llvm 3.0 also, this meansChris Lattner2011-11-271-34/+8
| | | | | | that mainline needs no autoupgrade logic for intrinsics yet, woohoo! llvm-svn: 145178
* add some final random notes, I've completed my pass over all the commits.Chris Lattner2011-11-271-6/+17
| | | | | | I'll work on turning this into something intelligible tomorrow. llvm-svn: 145177
* The llvm.atomic intrinsics *were* removed in LLVM 3.0 (in r141333), remove the Chris Lattner2011-11-271-68/+1
| | | | | | autoupgrade logic for 2.9 and before. llvm-svn: 145176
* remove autoupgrade support for old forms of llvm.prefetch and the oldChris Lattner2011-11-277-246/+1
| | | | | | | trampoline forms. Both of these were correct in LLVM 3.0, and we don't need to support LLVM 2.9 and earlier in mainline. llvm-svn: 145174
* add some notes.Chris Lattner2011-11-271-1/+8
| | | | llvm-svn: 145173
* remove asmparsing and documentation support for "volatile load", which was ↵Chris Lattner2011-11-274-34/+14
| | | | | | only produced by LLVM 2.9 and earlier. LLVM 3.0 and later prefers "load volatile". llvm-svn: 145172
* Upgrade syntax of tests using volatile instructions to use 'load volatile' ↵Chris Lattner2011-11-2791-318/+300
| | | | | | instead of 'volatile load', which is archaic. llvm-svn: 145171
* some notes.Chris Lattner2011-11-271-2/+5
| | | | llvm-svn: 145170
* remove autoupgrade support for really old-style debug info intrinsics.Chris Lattner2011-11-2713-777/+0
| | | | | | | I think this is the last of autoupgrade that can be removed in 3.1. Can the atomic upgrade stuff also go? llvm-svn: 145169
OpenPOWER on IntegriCloud