summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Don't add <imp-def> operands during register rewriting.Jakob Stoklund Olesen2010-09-071-16/+9
| | | | | | | | | | | | | | LiveIntervals already adds <imp-def> operands for super-registers when a subreg def defines the whole register. Thus, it is not necessary to do it again when rewriting. In fact, the super-register imp-defs caused miscompilations because the late scheduler couldn't see that the super-register was read. We still add super-reg <imp-use,kill> operands when rewriting virtuals to physicals. llvm-svn: 113299
* To shrink a t2LDM instruction to the 16-bit wide tLDM instruction, the baseJim Grosbach2010-09-071-0/+12
| | | | | | | | | | register must be one of the destination registers for the load. Otherwise, the tLDM instruction will write-back to the base register, which isn't what's desired (otherwise, we'd have a t2LDM_UPD instead). rdar://8394087 llvm-svn: 113297
* remove these tests for now.Devang Patel2010-09-073-750/+0
| | | | llvm-svn: 113293
* grammar tweakJim Grosbach2010-09-071-1/+1
| | | | llvm-svn: 113289
* Remove untrue comments.Bill Wendling2010-09-071-4/+4
| | | | llvm-svn: 113287
* Factor out some x86 vector shuffle rewriting and add comments about the ↵Bruno Cardoso Lopes2010-09-071-29/+59
| | | | | | direction the shuffle lowering is heading to llvm-svn: 113286
* There is no need to force target if the test is going to run on other x86 ↵Devang Patel2010-09-073-9/+3
| | | | | | platforms. llvm-svn: 113285
* Remove dead code. ManagedCleanup is unused, and contained a serious bug in thatOwen Anderson2010-09-071-6/+0
| | | | | | the provided cleanup function is never actually called. llvm-svn: 113284
* Fix PR7972, in which the PassRegistry was being leaked. As part of this,Owen Anderson2010-09-072-35/+17
| | | | | | | switch to using a ManagedStatic for the global PassRegistry instead of a ManagedCleanup, and fix a destruction ordering bug this exposed. llvm-svn: 113283
* Typo. Thanks to BillW for pointing it out!Stuart Hastings2010-09-071-1/+1
| | | | llvm-svn: 113281
* Tidy up the getModRefInfo declarations.Dan Gohman2010-09-071-24/+40
| | | | llvm-svn: 113275
* Move code around to prepare for moving some of the logic together to another ↵Bruno Cardoso Lopes2010-09-071-3/+3
| | | | | | function llvm-svn: 113267
* Properly initialize the pImpl member of PassRegistry to zero.Owen Anderson2010-09-071-0/+2
| | | | llvm-svn: 113264
* Add doxygen comments for PassRegistry.Owen Anderson2010-09-071-1/+24
| | | | llvm-svn: 113262
* Add an MVT::x86mmx type. It will take the place of all current MMX vector types.Bill Wendling2010-09-076-10/+21
| | | | llvm-svn: 113261
* Fix a serious performance regression introduced by r108687 on linux:Chris Lattner2010-09-072-4/+25
| | | | | | | | turning (fptrunc (sqrt (fpext x))) -> (sqrtf x) is great, but we have to delete the original sqrt as well. Not doing so causes us to do two sqrt's when building with -fmath-errno (the default on linux). llvm-svn: 113260
* Remove a dead comment.Evan Cheng2010-09-071-1/+0
| | | | llvm-svn: 113259
* rename test.Chris Lattner2010-09-071-0/+0
| | | | llvm-svn: 113257
* hopefully fix a problem building on cygwin-1.5Chris Lattner2010-09-071-2/+2
| | | | llvm-svn: 113255
* Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce ↵Owen Anderson2010-09-074-51/+79
| | | | | | | | #include clutter and exposing internal details. llvm-svn: 113252
* Fix whitespace, because I'm OCD.Bill Wendling2010-09-071-38/+38
| | | | llvm-svn: 113250
* Test case for r113248. Raar 8361341.Stuart Hastings2010-09-071-3/+15
| | | | llvm-svn: 113249
* decouple MMX check from regular splat checks. Some refactoring is coming, ↵Bruno Cardoso Lopes2010-09-071-4/+8
| | | | | | and MMX should be left alone to be easily removed after moving to intrinsics llvm-svn: 113247
* Remove now useless check, because the code can be matched below, no need to ↵Bruno Cardoso Lopes2010-09-071-1/+1
| | | | | | leave it for isel llvm-svn: 113242
* Issue a #error if the host doesn't have an implementation forDan Gohman2010-09-071-0/+2
| | | | | | GetMainExecutable yet. llvm-svn: 113240
* Minor change. Since the checks are equivalent, use isMMXBruno Cardoso Lopes2010-09-071-1/+1
| | | | llvm-svn: 113239
* Fix command line used to link these test cases.Devang Patel2010-09-073-3/+3
| | | | llvm-svn: 113237
* Update configure for change to autoconf/configure.ac to add PTX backend.Nick Lewycky2010-09-071-4/+9
| | | | llvm-svn: 113236
* Create PTX backend. Patch by Che-Liang Chiou!Nick Lewycky2010-09-0715-2/+237
| | | | llvm-svn: 113235
* Add patterns for MMX that use the new intrinsics.Dale Johannesen2010-09-074-20/+81
| | | | | | | Enable palignr intrinsic. These may need adjustment for a new VT in due course. llvm-svn: 113233
* Reintroduce dbg-declare tests.Devang Patel2010-09-073-0/+756
| | | | llvm-svn: 113232
* Remove unused target specific nodeBruno Cardoso Lopes2010-09-072-10/+0
| | | | llvm-svn: 113224
* Remove last three tests. I need to make them independent of my setup.Devang Patel2010-09-073-753/+0
| | | | llvm-svn: 113213
* Add a test case to check handling of dbg-declare during hybrid mode where ↵Devang Patel2010-09-071-0/+266
| | | | | | we begin using fast-isel but switch back to DAG building at some point. llvm-svn: 113210
* Add a test case to check handling of dbg-declare by selection DAG builder.Devang Patel2010-09-071-0/+244
| | | | llvm-svn: 113209
* Add a test case to check handling of dbg-declare by fast-isel.Devang Patel2010-09-071-0/+243
| | | | llvm-svn: 113208
* Don't leak the old operand when transforming "sldt" into "sldtw".Benjamin Kramer2010-09-071-1/+3
| | | | llvm-svn: 113200
* attempt to appease msvcChris Lattner2010-09-071-0/+3
| | | | llvm-svn: 113198
* fix comment typosGabor Greif2010-09-071-2/+2
| | | | llvm-svn: 113197
* Add completely hokey binary-and and binary-or operations to ConstantRange andNick Lewycky2010-09-073-0/+40
| | | | | | teach LazyValueInfo to use them. llvm-svn: 113196
* Fix major bug in thunk detection. Also verify the calling convention.Nick Lewycky2010-09-071-22/+39
| | | | | | | | | Switch from isWeakForLinker to mayBeOverridden which is more accurate. Add more statistics and debugging info. Add comments. Move static function outside anonymous namespace. llvm-svn: 113190
* add missing cmov aliases, this resolves rdar://8208499Chris Lattner2010-09-072-13/+34
| | | | llvm-svn: 113189
* remove duplicated entryChris Lattner2010-09-061-1/+0
| | | | llvm-svn: 113188
* Add a new isSignWrappedSet() method to ConstantRange.Nick Lewycky2010-09-063-7/+42
| | | | | | | | | Fix zeroExtend and signExtend to support empty sets, and to return the smallest possible result set which contains the extension of each element in their inputs. For example zext i8 [100, 10) to i16 is now [0, 256), not i16 [100, 10) which contains 63446 members. llvm-svn: 113187
* "sldt <mem>" is ambiguous in 64-bit mode, but shouldChris Lattner2010-09-062-0/+10
| | | | | | | | always be disambiguated as sldtw. sldtw and sldtq with a mem operands have the same effect, but sldtw is more compact. Force it to sldtw, resolving rdar://8017530 llvm-svn: 113186
* fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)"Chris Lattner2010-09-062-0/+6
| | | | llvm-svn: 113184
* generalize my previous operand loc info hack. If the same operandChris Lattner2010-09-061-7/+9
| | | | | | | | | | | | | is busted for all variants, report it as the location. This allows us to get the operand right for bugs like: t.s:3:12: error: invalid operand for instruction outb %al, %gs ^ Even though there are reg/imm and reg/reg forms of this instruction. llvm-svn: 113183
* fix the operand constraints of the immediate form of in/out,Chris Lattner2010-09-062-6/+15
| | | | | | allowing unsigned 8-bit operands. This fixes rdar://8208481 llvm-svn: 113182
* in the case where an instruction only has one implementationChris Lattner2010-09-063-19/+48
| | | | | | | | | | | | | | | | | | | | of a mneumonic, report operand errors with better location info. For example, we now report: t.s:6:14: error: invalid operand for instruction cwtl $1 ^ but we fail for common cases like: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ because we don't know if this is supposed to be the reg/imm or imm/reg form. llvm-svn: 113178
* Now that we know if we had a total fail on the instruction mnemonic, Chris Lattner2010-09-062-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | give a more detailed error. Before: t.s:11:4: error: unrecognized instruction addl $1, $1 ^ t.s:12:4: error: unrecognized instruction f2efqefa $1 ^ After: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ t.s:12:4: error: invalid instruction mnemonic 'f2efqefa' f2efqefa $1 ^ This fixes rdar://8017912 - llvm-mc says "unrecognized instruction" when it means "invalid operands" llvm-svn: 113176
OpenPOWER on IntegriCloud