summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Have GVN simplify instructions as it goes. For example, considerDuncan Sands2010-11-121-18/+20
| | | | | | | | | | | | | | | "%z = %x and %y". If GVN can prove that %y equals %x, then it turns this into "%z = %x and %x". With the new code, %z will be replaced with %x everywhere (and then deleted). Previously %z would be value numbered too, which is a waste of time. Also, while a clever value numbering algorithm would give %z the same value number as %x, our current one doesn't do so (at least I don't think it does). The new logic has an essentially equivalent effect to what you would get if %z was given the same value number as %x, i.e. it should make value numbering smarter. While there, get hold of target data once at the start rather than a gazillion times all over the place. llvm-svn: 118923
* Add some missing isel predicates on def : pat patterns to avoid generating ↵Evan Cheng2010-11-128-117/+208
| | | | | | VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next. llvm-svn: 118922
* Kill more unused stuff.Jim Grosbach2010-11-121-43/+0
| | | | llvm-svn: 118921
* MCELF: Copy the symbol name only if we're going to modify it.Benjamin Kramer2010-11-121-9/+8
| | | | llvm-svn: 118920
* Remove unused class.Jim Grosbach2010-11-121-8/+0
| | | | llvm-svn: 118919
* Add --enable-docs. Patch by NAKAMURA Takumi.Rafael Espindola2010-11-124-4/+45
| | | | llvm-svn: 118918
* When the definition of an address value is in a different blockDan Gohman2010-11-121-5/+5
| | | | | | | | from the user of the address, fall back to just using the address in a register instead of bailing out of fast-isel altogether. llvm-svn: 118917
* accept lret as an alias for lretl, fixing the reopened part of PR8592Chris Lattner2010-11-123-3/+7
| | | | llvm-svn: 118916
* Remove what looks like dead code in the production of debug lines.Rafael Espindola2010-11-121-45/+2
| | | | | | | | | We only produce debug line information if we have seen a line directive, so this code is dead. Also, if we want to be bug by bug compatible with gas and sometimes produce "empty" .debug_line sections, this will match the content produced by gas. llvm-svn: 118914
* typo (4th checkin for one fix)Andrew Trick2010-11-121-1/+1
| | | | llvm-svn: 118913
* Emacs auto-fill bug.Andrew Trick2010-11-121-1/+2
| | | | llvm-svn: 118908
* Fill in the default predication bits for ARM unconditional branch.Jim Grosbach2010-11-121-0/+1
| | | | llvm-svn: 118907
* Test case for PR8287: SD scheduling time. Fixed in r118904.Andrew Trick2010-11-121-0/+31
| | | | llvm-svn: 118906
* Encoding for ARM LDRSB instructions.Jim Grosbach2010-11-121-7/+12
| | | | llvm-svn: 118905
* Fixes PR8287: SD scheduling time. The fix is a failsafe that preventsAndrew Trick2010-11-121-13/+53
| | | | | | | | | catastrophic compilation time in the event of unreasonable LLVM IR. Code quality is a separate issue--someone upstream needs to do a better job of reducing to llvm.memcpy. If the situation can be reproduced with any supported frontend, then it will be a separate bug. llvm-svn: 118904
* implement PR8592: empirically "lretq" is a "lret" with a rex.w prefix.Chris Lattner2010-11-122-0/+6
| | | | llvm-svn: 118903
* tidy up.Chris Lattner2010-11-122-10/+7
| | | | llvm-svn: 118896
* gnu as support both % and @ before types, do the same.Rafael Espindola2010-11-123-17/+42
| | | | llvm-svn: 118893
* Re-disable TBAA for now; it broke MultiSource/Applications/JM/lencod,Dan Gohman2010-11-121-1/+1
| | | | | | at least. llvm-svn: 118890
* Fix memory access lowering on SPU, addingKalle Raiskila2010-11-127-116/+278
| | | | | | | | | | | | support for the case where alignment<value size. These cases were silently miscompiled before this patch. Now they are overly verbose -especially storing is- and any front-end should still avoid misaligned memory accesses as much as possible. The bit juggling algorithm added here probably has some room for improvement still. llvm-svn: 118889
* Fix up a few more spots of addrmode2 (or not) changes that wereEric Christopher2010-11-121-6/+12
| | | | | | | | missed. Update some comments accordingly. Fixes rdar://8652289 llvm-svn: 118888
* Enable TBAA.Dan Gohman2010-11-121-1/+1
| | | | llvm-svn: 118884
* Fix some style issues in PBQP. Patch by David Blaikie.Lang Hames2010-11-121-20/+25
| | | | llvm-svn: 118883
* Enhance DSE to handle the case where a free call makes more thanDan Gohman2010-11-122-12/+38
| | | | | | | one store dead. This is especially noticeable in SingleSource/Benchmarks/Shootout/objinst. llvm-svn: 118875
* Filecheckize.Dan Gohman2010-11-121-1/+12
| | | | llvm-svn: 118874
* Remove possibly useful info from comment, per Chris.Dale Johannesen2010-11-121-1/+1
| | | | llvm-svn: 118865
* Enable mips32 mul instruction. Patch by Akira Hatanaka <ahatanaka@mips.com>Bruno Cardoso Lopes2010-11-124-3/+21
| | | | llvm-svn: 118864
* describe the preferred approach to silencing 'unused variable warnings' due ↵Chris Lattner2010-11-121-0/+32
| | | | | | to asserts. llvm-svn: 118863
* add operand iterator apis to MachineInstr, patch by ether zhhb.Chris Lattner2010-11-121-1/+11
| | | | llvm-svn: 118862
* Start of support for binary emit of 16-it Thumb instructions.Jim Grosbach2010-11-112-7/+18
| | | | llvm-svn: 118859
* Fill out support for Thumb2 encodings of NEON instructions.Owen Anderson2010-11-1112-0/+553
| | | | llvm-svn: 118854
* The BRK instruction in the MicroBlaze is a branch-and-link.Wesley Peck2010-11-111-2/+2
| | | | llvm-svn: 118848
* DoxygenifyNick Lewycky2010-11-111-1/+1
| | | | llvm-svn: 118846
* Add helper functions for computing the Location of load, store,Dan Gohman2010-11-118-66/+43
| | | | | | and vaarg instructions. llvm-svn: 118845
* Fix tblgen instruction errors exposed by MC asm parser testsWesley Peck2010-11-118-30/+910
| | | | | | | Fix minimum 16-bit signed value error exposed by MC asm parser tests Add initial MC asm parser tests for the MBlaze backend llvm-svn: 118844
* Add correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4].Owen Anderson2010-11-115-1/+237
| | | | llvm-svn: 118843
* Don't forget the TBAA info, if available.Dan Gohman2010-11-111-1/+6
| | | | llvm-svn: 118842
* Factor out Instruction::isSafeToSpeculativelyExecute's code forDan Gohman2010-11-115-32/+157
| | | | | | | | | | | | testing for dereferenceable pointers into a helper function, isDereferenceablePointer. Teach it how to reason about GEPs with simple non-zero indices. Also eliminate ArgumentPromtion's IsAlwaysValidPointer, which didn't check for weak externals or out of range gep indices. llvm-svn: 118840
* Flesh out tests for Thumb2 encodings of NEON instructions.Owen Anderson2010-11-1111-0/+748
| | | | llvm-svn: 118837
* Delete unneeded ssp attributes.Dan Gohman2010-11-113-3/+3
| | | | llvm-svn: 118836
* Revert the accidental commit I made reverting the previous commit.Eric Christopher2010-11-111-6/+7
| | | | llvm-svn: 118835
* Trailing whitespace.Jim Grosbach2010-11-111-5/+5
| | | | llvm-svn: 118831
* ARM fixup encoding for direct call instructions (BL).Jim Grosbach2010-11-112-8/+24
| | | | llvm-svn: 118829
* Revert this temporarily.Eric Christopher2010-11-115-104/+31
| | | | llvm-svn: 118827
* Change the prologue and epilogue to use push/pop for the low ARM registers.Eric Christopher2010-11-114-25/+97
| | | | llvm-svn: 118823
* Avoid calling alias on non-pointer values.Dan Gohman2010-11-111-3/+4
| | | | llvm-svn: 118822
* Add support for Thumb2 encodings of NEON data processing instructions, using ↵Owen Anderson2010-11-115-0/+197
| | | | | | | | the new PostEncoderMethod infrastructure. More tests to come. llvm-svn: 118819
* Mark labels declared in tls sections as STT_TLS. This matches the behavior ofRafael Espindola2010-11-113-33/+52
| | | | | | gas. llvm-svn: 118818
* Fixed some bugs in MBlaze asm parser that were introduced when removing ↵Wesley Peck2010-11-111-5/+5
| | | | | | OwningPtrs from the code. llvm-svn: 118807
* add a noteChris Lattner2010-11-111-0/+28
| | | | llvm-svn: 118806
OpenPOWER on IntegriCloud