summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Update CMake file.Ted Kremenek2010-01-131-1/+2
| | | | llvm-svn: 93283
* Remove the JustSP single-register regclass.Jakob Stoklund Olesen2010-01-132-14/+1
| | | | | | | | It was only being used by instructions with the t_addrmode_sp addressing mode, and that is pattern matched in a way that guarantees SP is used. There is never any register allocation done from this class. llvm-svn: 93280
* Try to fix the ARM and PPC buildbots. The -mattr=vector-unaligned-memJeffrey Yasskin2010-01-131-1/+1
| | | | | | flag doesn't exist there, and this is an x86 test. llvm-svn: 93279
* Add a quick pass to optimize sign / zero extension instructions. For targets ↵Evan Cheng2010-01-139-28/+203
| | | | | | | | where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg. For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used. llvm-svn: 93278
* Further progration of metadata operands. TheDale Johannesen2010-01-134-2/+19
| | | | | | | dumper doesn't really do what I want yet, but at least it doesn't crash now. llvm-svn: 93272
* Make WriteConstants() more robust against stray values in ValueEnumerator's ↵Victor Hernandez2010-01-121-0/+5
| | | | | | ValueList llvm-svn: 93270
* Fix a comment typo.Bob Wilson2010-01-121-1/+1
| | | | llvm-svn: 93261
* use consistent tag kinds for ilist_traitsChris Lattner2010-01-121-1/+1
| | | | llvm-svn: 93259
* 1) Use the new SimplifyInstructionsInBlock routine instead of the copyChris Lattner2010-01-122-23/+15
| | | | | | | | | | | | in JT. 2) When cloning blocks for PHI or xor conditions, use instsimplify to simplify the code as we go. This allows us to squish common cases early in JT which opens up opportunities for subsequent iterations, and allows it to completely simplify the testcase. llvm-svn: 93253
* add a helper function.Chris Lattner2010-01-122-0/+32
| | | | llvm-svn: 93251
* Use Twine, instead of StringRef, for consistency.Devang Patel2010-01-122-8/+21
| | | | llvm-svn: 93249
* Use ilist_tratis to autoinsert and remove NamedMDNode from MDSymbolTable.Devang Patel2010-01-125-18/+31
| | | | llvm-svn: 93247
* Eliminate or_not_add and just use AddedComplexity so isel tries or_is_add ↵Evan Cheng2010-01-122-22/+13
| | | | | | patterns first. llvm-svn: 93245
* Add nounwind.Evan Cheng2010-01-121-2/+2
| | | | llvm-svn: 93244
* Revert commit 93204, since it causes the assembler to barfDuncan Sands2010-01-122-43/+1
| | | | | | | on x86-64 linux with messages like this: Error: Incorrect register `%r14' used with `l' suffix llvm-svn: 93242
* Fix typo.Duncan Sands2010-01-121-1/+1
| | | | llvm-svn: 93235
* Tweak commit 91745, which changed target data for both Mingw and Cygwin,Duncan Sands2010-01-121-1/+1
| | | | | | | to not touch Cygwin: the change caused llvm-gcc build failures due to long double getting the wrong size. Patch by Aaron Gray. llvm-svn: 93234
* Make several tests less fragile.Dan Gohman2010-01-125-15/+21
| | | | llvm-svn: 93230
* Reapply the MOV64r0 patch, with a fix: MOV64r0 clobbers EFLAGS.Dan Gohman2010-01-126-39/+46
| | | | llvm-svn: 93229
* Update a partially obsolete comment.Dan Gohman2010-01-121-1/+1
| | | | llvm-svn: 93228
* Fix a typo in a comment.Dan Gohman2010-01-121-1/+1
| | | | llvm-svn: 93227
* tidy upChris Lattner2010-01-121-5/+1
| | | | llvm-svn: 93222
* Teach jump threading to duplicate small blocks when the branchChris Lattner2010-01-122-14/+141
| | | | | | | | | | | | | | | | | | | condition is a xor with a phi node. This eliminates nonsense like this from 176.gcc in several places: LBB166_84: testl %eax, %eax - setne %al - xorb %cl, %al - notb %al - testb $1, %al - je LBB166_85 + je LBB166_69 + jmp LBB166_85 This is rdar://7391699 llvm-svn: 93221
* Add MO_Metadata as an operand kind. Not used yet.Dale Johannesen2010-01-121-1/+18
| | | | llvm-svn: 93220
* Add TargetInstrInfo::isCoalescableInstr. It returns true if the specifiedEvan Cheng2010-01-123-0/+74
| | | | | | | | | instruction is copy like where the source and destination registers can overlap. This is to be used by the coalescable to coalesce the source and destination registers of instructions like X86::MOVSX64rr32. Apparently some crazy people believe the coalescer is too simple. llvm-svn: 93210
* some cleanup, and make it obvious that ProcessJumpOnPHI only worksChris Lattner2010-01-111-24/+14
| | | | | | on branches by renaming it and checking for a branch at the call site. llvm-svn: 93208
* disable this testcase, PR5997Chris Lattner2010-01-111-6/+8
| | | | llvm-svn: 93206
* Add manual ISD::OR fastisel selection routines. TableGen is no longer ↵Evan Cheng2010-01-112-1/+43
| | | | | | autogen them after 93152 and 93191. llvm-svn: 93204
* Add documentation for llvm.dbg.value intrinsicVictor Hernandez2010-01-111-0/+20
| | | | llvm-svn: 93203
* reenable the piece that turns trunc(zext(x)) -> x even if zext has multiple ↵Chris Lattner2010-01-111-3/+1
| | | | | | | | | uses, codegen has no apparent problem with the trunc version of this, because it turns into a simple subreg idiom llvm-svn: 93202
* Disable folding sext(trunc(x)) -> x (and other similar cast/cast cases) when ↵Chris Lattner2010-01-111-6/+14
| | | | | | | | | | | the trunc has multiple uses. Codegen is not able to coalesce the subreg case correctly and so this leads to higher register pressure and spilling (see PR5997). This speeds up 256.bzip2 from 8.60 -> 8.04s on my machine, ~7%. llvm-svn: 93200
* Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, ↵Victor Hernandez2010-01-112-111/+74
| | | | | | and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work llvm-svn: 93197
* Remove trailing white spaces in post dominators header fileTobias Grosser2010-01-111-6/+6
| | | | llvm-svn: 93195
* Add getNode() to post dominators.Tobias Grosser2010-01-111-0/+4
| | | | | | Implement the same interface as already available for dominators. llvm-svn: 93194
* Extend r93152 to work on OR r, r. If the source set bits are known not to ↵Evan Cheng2010-01-114-10/+51
| | | | | | overlap, then select as an ADD instead. llvm-svn: 93191
* reduce this to a sensible testcase.Chris Lattner2010-01-111-18/+5
| | | | llvm-svn: 93189
* Shorten up this testcase.David Greene2010-01-111-378/+0
| | | | llvm-svn: 93187
* Revert 93158. It's breaking quite a few x86_64 tests.Evan Cheng2010-01-116-44/+38
| | | | llvm-svn: 93185
* Avoid adding PHI arguments for a predecessor that has gone away when a ↵Jakob Stoklund Olesen2010-01-112-14/+116
| | | | | | | | BRCOND was constant folded. This fixes PR5980. llvm-svn: 93184
* Remove unused string functions.Benjamin Kramer2010-01-112-83/+0
| | | | llvm-svn: 93183
* Do not turn 8-bit OR to ADD since ADD8ri is not 3-addressfiable.Evan Cheng2010-01-111-4/+1
| | | | llvm-svn: 93182
* Disable transformation of select of two loads to a select of address and ↵Mon P Wang2010-01-111-28/+41
| | | | | | | | then a load if the loads are not in the default address space because the transformation discards src value info. llvm-svn: 93180
* Add StrInStrNoCase, a StringRef version of CStrInCStrNoCase.Benjamin Kramer2010-01-112-0/+18
| | | | llvm-svn: 93174
* Add top level section for named metadata.Devang Patel2010-01-111-8/+35
| | | | llvm-svn: 93172
* Improve unclear bits and inaccuracies in structure and insertvalueJeffrey Yasskin2010-01-111-6/+9
| | | | | | | | documentation. Patch by Dustin Laurence! llvm-svn: 93170
* Update the -tailcallopt description to match djg's improvements to the callingJeffrey Yasskin2010-01-111-5/+0
| | | | | | convention. llvm-svn: 93167
* s/NextValueNo/NextMDValueNo while processing metadata.Devang Patel2010-01-112-12/+12
| | | | llvm-svn: 93165
* Turns out llvm-gcc still uses SplitString with a vector. Add it back until IBenjamin Kramer2010-01-112-0/+18
| | | | | | have a fix. llvm-svn: 93163
* Reimplement getToken and SplitString as "StringRef helper functions"Benjamin Kramer2010-01-116-49/+44
| | | | | | | | | - getToken is modeled after StringRef::split but it can split on multiple separator chars and skips leading seperators. - SplitString is a StringRef::split variant for more than 2 elements with the same behaviour as getToken. llvm-svn: 93161
* Use a 32-bit and with implicit zero-extension instead of a 64-bit and if itDan Gohman2010-01-112-3/+51
| | | | | | | | | | | has an immediate with at least 32 bits of leading zeros, to avoid needing to materialize that immediate in a register first. FileCheckize, tidy, and extend a testcase to cover this case. This fixes rdar://7527390. llvm-svn: 93160
OpenPOWER on IntegriCloud