summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use a bigger hammer to fix PR11314 by disabling the "forcing two-addressEvan Cheng2011-11-1012-21/+36
| | | | | | | | | | | | | | | | instruction lower optimization" in the pre-RA scheduler. The optimization, rather the hack, was done before MI use-list was available. Now we should be able to implement it in a better way, perhaps in the two-address pass until a MI scheduler is available. Now that the scheduler has to backtrack to handle call sequences. Adding artificial scheduling constraints is just not safe. Furthermore, the hack is not taking all the other scheduling decisions into consideration so it's just as likely to pessimize code. So I view disabling this optimization goodness regardless of PR11314. llvm-svn: 144267
* AVX2: Add variable shift from memory.Nadav Rotem2011-11-101-1/+24
| | | | | | | | Note: These patterns only works in some cases because many times the load sd node is bitcasted from a load node of a different type. llvm-svn: 144266
* Constant expression evaluation: support for evaluation of structs and unions ofRichard Smith2011-11-1011-191/+1056
| | | | | | | literal types, as well as derived-to-base casts for lvalues and derived-to-virtual-base casts. llvm-svn: 144265
* Removing unused initialization.David Blaikie2011-11-101-2/+1
| | | | llvm-svn: 144264
* There's no good reason to track temporaries in ExprWithCleanups,John McCall2011-11-1014-121/+154
| | | | | | | but it is sometimes useful to track blocks. Do so. Also optimize the storage of these expressions. llvm-svn: 144263
* Fixed the eFormatChar, eFormatCharPrintable and eFormatCharArray to printGreg Clayton2011-11-101-7/+4
| | | | | | things out correctly again. llvm-svn: 144261
* Temporary fix for a performance problem Eli spotted. The APValue representationRichard Smith2011-11-101-0/+6
| | | | | | | is currently too inefficient to allow us to use it for array initializers, but fortunately we usually don't yet need to evaluate such initializers. llvm-svn: 144260
* <rdar://problem/10338439>Greg Clayton2011-11-101-0/+2
| | | | | | | | Fixed an issue where if you had an initialized global variable, we would not link it up correctly in the debug info if the .o file had the symbols as UNDF + EXT (undefined external). We now properly link the globals. llvm-svn: 144259
* For immediate encodings of icmp, zero or sign extend first. ThenChad Rosier2011-11-102-5/+22
| | | | | | | determine if the value is negative and flip the sign accordingly. rdar://10422026 llvm-svn: 144258
* Removed debug printf statements.Greg Clayton2011-11-101-3/+0
| | | | llvm-svn: 144257
* Added the ability for many of the "target modules dump xxx" commands to findGreg Clayton2011-11-101-76/+97
| | | | | | | modules first in the target, then fall back to the global shared module cache, then fall back to the global module list. llvm-svn: 144256
* build/Make & CMake: Pass the appropriate --native-target and --enable-targetsDaniel Dunbar2011-11-104-6/+17
| | | | | | options to llvm-build, so the all-targets etc. components are defined properly. llvm-svn: 144255
* Using the wrong type for the break id's (user_id_t is an unsigned int, but ↵Jim Ingham2011-11-102-2/+2
| | | | | | internal breakpoints can be negative, and anyway it is a good idea to use break_id_t for breakpoints, no?) llvm-svn: 144254
* llvm-build: Add --native-target and --enable-targets options, and add logic toDaniel Dunbar2011-11-1015-16/+133
| | | | | | | | | | handle defining the "magic" target related components (like native, nativecodegen, and engine). - We still require these components to be in the project (currently in lib/Target) so that we have a place to document them and hopefully make it more obvious that they are "magic". llvm-svn: 144253
* llvm-build: Split out the validation logic.Daniel Dunbar2011-11-101-3/+20
| | | | llvm-svn: 144252
* llvm-build: Change CBackend and CppBackend to not use library_name. This willDaniel Dunbar2011-11-102-2/+0
| | | | | | | | | change the generated library .a file name once we fully switch over, but simplifies how we treat these targets without requiring more special casing (since their library group name and the codegen library name currently map to the same "llvm-config" style component name). llvm-svn: 144251
* llvm-build: Add an explicit component type to represent targets.Daniel Dunbar2011-11-1015-22/+112
| | | | | | - Gives us a place to hang target specific metadata (like whether the target has a JIT). llvm-svn: 144250
* llvm-build: Tidy up options.Daniel Dunbar2011-11-101-20/+29
| | | | llvm-svn: 144249
* Reflow lines, remove else-if after returns, rename variable "TydefContext" toNick Lewycky2011-11-101-14/+9
| | | | | | "TypedefContext". No functionality change. llvm-svn: 144248
* Strip old implicit operands after foldMemoryOperand.Jakob Stoklund Olesen2011-11-102-2/+124
| | | | | | | | | | | | The TII.foldMemoryOperand hook preserves implicit operands from the original instruction. This is not what we want when those implicit operands refer to the register being spilled. Implicit operands referring to other registers are preserved. This fixes PR11347. llvm-svn: 144247
* Fix some additional x86 intrinsics to use "I" (ICE) markings. Fix ↵Eli Friedman2011-11-103-36/+30
| | | | | | | | *mmintrin.h to take them into account. <rdar://problem/10341145> llvm-svn: 144246
* Remove this from the CMake build since I erased the file.Owen Anderson2011-11-101-1/+0
| | | | llvm-svn: 144245
* Tidy up.Jim Grosbach2011-11-101-12/+0
| | | | llvm-svn: 144244
* Remove the old-style ARM disassembler, which is no longer used.Owen Anderson2011-11-094-1847/+0
| | | | llvm-svn: 144243
* Thumb2 assembly parsing STMDB w/ optional .w suffix.Jim Grosbach2011-11-092-0/+8
| | | | | | rdar://10422955 llvm-svn: 144242
* Make sure we correctly unroll conversions between v2f64 and v2i32 on ARM.Eli Friedman2011-11-092-1/+62
| | | | llvm-svn: 144241
* <rdar://problem/10374840>Greg Clayton2011-11-091-3/+49
| | | | | | | Fixed an issue with the gdb format stuff for any aliases that expand to contain a "--". llvm-svn: 144240
* DeadStoreElimination can now trim the size of a store if the end of the ↵Pete Cooper2011-11-092-33/+188
| | | | | | | | | | | store is dead. Currently checks alignment and killing stores on a power of 2 boundary as this is likely to trim the size of the earlier store without breaking large vector stores into scalar ones. Fixes <rdar://problem/10140300> llvm-svn: 144239
* Fix the signature of __sigsetjmp and sigsetjmp. Patch by Dimitry Andric.Rafael Espindola2011-11-091-2/+2
| | | | llvm-svn: 144237
* Fix typo in comment.Nick Lewycky2011-11-091-1/+1
| | | | llvm-svn: 144236
* Remove unused function declarationTobias Grosser2011-11-091-2/+0
| | | | llvm-svn: 144233
* Remove unused parameters from TempScopTobias Grosser2011-11-093-56/+5
| | | | llvm-svn: 144232
* TempScop: Rename SCEVAffFunc to IRAccessTobias Grosser2011-11-094-47/+32
| | | | | | | The SCEVAffFunc is now only used to express memory accesses. Give it a proper name and rework the class such that this is obvious. llvm-svn: 144231
* Further remove now invalid SCEVAffFunc features.Tobias Grosser2011-11-092-53/+1
| | | | | | | This also removes the construction of MayAliasSets that became invalid when removing the use of SCEVAffFunc. llvm-svn: 144230
* Remove AffineSCEVIteratorTobias Grosser2011-11-0912-611/+4
| | | | | | | We do not use it anymore. It was replaced by SCEVVisitors like the SCEVValidator. llvm-svn: 144229
* Do not check memory accesses additionally with isValidAffineFunctionTobias Grosser2011-11-092-88/+0
| | | | | | | This check was necessary because of the use AffineSCEVIterator in TempScopInfo. As we removed this use recently it is not necessary any more. llvm-svn: 144228
* Remove more unused stuff from SCEVAffFuncTobias Grosser2011-11-092-58/+3
| | | | llvm-svn: 144227
* Remove SCEVAffFunc from polly::ComparisonTobias Grosser2011-11-093-22/+14
| | | | llvm-svn: 144226
* Remove unused code from SCEVAffFunc constructorTobias Grosser2011-11-093-148/+0
| | | | llvm-svn: 144224
* Remove more of SCEVAffineFuncTobias Grosser2011-11-094-155/+10
| | | | llvm-svn: 144223
* ScopInfo: Use getParamsInAffineExpr to get the BaseAddressTobias Grosser2011-11-091-8/+9
| | | | llvm-svn: 144222
* TempScop: Remove more of the buildAffineFunctionTobias Grosser2011-11-095-80/+1
| | | | llvm-svn: 144221
* TempScopInfo: Remove unneeded construction of SCEVAffFuncTobias Grosser2011-11-094-144/+0
| | | | llvm-svn: 144220
* Add check so we don't try to perform an impossible transformation. Fixes ↵Eli Friedman2011-11-092-1/+17
| | | | | | issue from PR11319. llvm-svn: 144216
* The ARM LDRH/STRH instructions use a +/-imm8 encoding, not an imm12.Chad Rosier2011-11-091-5/+13
| | | | | | rdar://10418009 llvm-svn: 144213
* AVX2: Add patterns for variable shift operationsNadav Rotem2011-11-093-2/+113
| | | | llvm-svn: 144212
* Remove unnecessary include.Devang Patel2011-11-092-2/+0
| | | | llvm-svn: 144211
* Remove unnecessary include.Devang Patel2011-11-091-1/+0
| | | | llvm-svn: 144210
* Use REs to remove dependencies on the register allocation order.Chad Rosier2011-11-091-24/+24
| | | | llvm-svn: 144209
* Reformat the quote and tag the math stuff with <tt> tags.Bill Wendling2011-11-091-6/+9
| | | | llvm-svn: 144204
OpenPOWER on IntegriCloud