summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove alignment from deserted constant islands.Jakob Stoklund Olesen2011-12-061-0/+3
| | | | | | | | | | | | | | | | ARMConstantIslandPass may sometimes leave empty constant islands behind (it really shouldn't). Remove the alignment from the empty islands so the size calculations are still correct. This should fix the many Thumb1 assembler errors in the nightly test suite. The reduced test case for this problem is way too big. That is to be expected for ARMConstantIslandPass bugs. <rdar://problem/10534709> llvm-svn: 145970
* Encode the total stack if there isn't a frame.Bill Wendling2011-12-061-2/+3
| | | | llvm-svn: 145969
* * Add a macro to remove a magic number.Bill Wendling2011-12-061-30/+35
| | | | | | * Rename variables to reflect what they're actually used for. llvm-svn: 145968
* Pretty-print basic block alignment.Jakob Stoklund Olesen2011-12-061-2/+6
| | | | llvm-svn: 145965
* Add link to llvm.expect in Release Notes.Jakub Staszak2011-12-061-2/+3
| | | | llvm-svn: 145964
* delaying restore-cr changed assigned registers in some testsHal Finkel2011-12-062-9/+9
| | | | llvm-svn: 145963
* add a test case that uses RESTORE_CRHal Finkel2011-12-061-0/+225
| | | | llvm-svn: 145962
* add RESTORE_CR and support CR unspillsHal Finkel2011-12-065-28/+89
| | | | llvm-svn: 145961
* remove old FIXMEHal Finkel2011-12-061-1/+0
| | | | llvm-svn: 145960
* Check the correct value for small stack sizes. Also modify some comments.Bill Wendling2011-12-061-5/+8
| | | | llvm-svn: 145954
* For a small sized stack, we encode that value directly with no "stack ↵Bill Wendling2011-12-061-1/+3
| | | | | | adjust" value. llvm-svn: 145952
* PTX: Continue to fix up the register mess.Justin Holewinski2011-12-069-145/+266
| | | | llvm-svn: 145947
* PTX: Encode registers as unsigned values in the MC asm printer instead of ↵Justin Holewinski2011-12-064-14/+88
| | | | | | using external symbols llvm-svn: 145946
* use space star instead of star spaceSebastian Pop2011-12-065-44/+44
| | | | llvm-svn: 145944
* add missing point at the end of sentencesSebastian Pop2011-12-064-79/+79
| | | | llvm-svn: 145943
* Simplify common predecessor finding.Benjamin Kramer2011-12-061-24/+10
| | | | | | | | | | | | - Walking over pred_begin/pred_end is an expensive operation. - PHINodes contain a value for each predecessor anyway. - While it may look like we used to save a few iterations with the set, be aware that getIncomingValueForBlock does a linear search on the values of the phi node. - Another -5% on ARMDisassembler.cpp (Release build). This was the last entry in the profile that was obviously wasting time. llvm-svn: 145937
* Push StringRefs through the metadata interface.Benjamin Kramer2011-12-064-7/+7
| | | | llvm-svn: 145934
* Add X86ISD::HADD/HSUB to getTargetNodeNameCraig Topper2011-12-061-0/+2
| | | | llvm-svn: 145929
* Fix a bunch of SSE/AVX patterns to use v2i64/v4i64 loads since all other ↵Craig Topper2011-12-062-62/+69
| | | | | | integer vector loads are promoted to those. llvm-svn: 145927
* Merge floating point and integer UNPCK X86ISD node types.Craig Topper2011-12-064-167/+104
| | | | llvm-svn: 145926
* test/MC: Introduce MC/MachO/ARM, and relocate relax-thumb2-branches.s into it.NAKAMURA Takumi2011-12-062-0/+5
| | | | | FIXME: Restore more other arch-dependent MachO tests. (eg. r126401 and r133856) llvm-svn: 145925
* Clean up some of the shuffle decoding code for UNPCK instructions. Add ↵Craig Topper2011-12-064-84/+157
| | | | | | instruction commenting for AVX/AVX2 forms for integer UNPCKs. llvm-svn: 145924
* ARM mode 'mul' operand ordering tweak.Jim Grosbach2011-12-062-2/+1
| | | | | | Same as r145922, just for ARM mode. llvm-svn: 145923
* Thumb2: MUL two-operand form encoding operand order fix.Jim Grosbach2011-12-062-3/+3
| | | | | | | | | Fix the alias to encode 'mul r5, r6' as if it were 'mul r5, r6, r5' so we match gas. rdar://10532439 llvm-svn: 145922
* Merge isSHUFPMask and isCommutedSHUFPMask into single function that can do ↵Craig Topper2011-12-063-142/+46
| | | | | | both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted. llvm-svn: 145921
* Thumb2 encoding choice correction for PLD.Jim Grosbach2011-12-062-2/+6
| | | | | | | | Using encoding T1 for offset of #0 and encoding T2 for #-0. rdar://10532413 llvm-svn: 145919
* test/MC: Move relax-thumb2-branches.s from MC/MachO/ to MC/ARM.NAKAMURA Takumi2011-12-061-0/+0
| | | | | | MC/MachO assumes x86. llvm-svn: 145916
* Fix a subtle semantic issue with poison values that came up inDan Gohman2011-12-061-14/+12
| | | | | | | | | | recent discussions. Poison can't make every value that depends on it act in maximally undefined ways, because the optimizer may still hoist code following the usual rules for undef. Make Poison invoke its full undefined behavior only when it reaches an instruction with externally visible side effects. llvm-svn: 145913
* Use branches instead of jumps + variable cleanup. Testcase coming next. ↵Bruno Cardoso Lopes2011-12-063-41/+39
| | | | | | Patch by Jack Carter llvm-svn: 145912
* Explicit symbols for gnu mimicing relocations. Patch by Jack CarterBruno Cardoso Lopes2011-12-062-0/+20
| | | | llvm-svn: 145911
* Add register HWR29 numbering. Patch by Jack CarterBruno Cardoso Lopes2011-12-062-0/+2
| | | | llvm-svn: 145910
* Line up the comments in a code example.Dan Gohman2011-12-061-19/+19
| | | | llvm-svn: 145908
* Rename "Trap Values" to "Poison Values", to better reflect theirDan Gohman2011-12-061-29/+29
| | | | | | | purpose, and to avoid ambiguity with other uses of the word "trap" in LangRef. llvm-svn: 145907
* LSR: prune undesirable formulae early.Andrew Trick2011-12-062-46/+181
| | | | | | | | | It's always good to prune early, but formulae that are unsatisfactory in their own right need to be removed before running any other pruning heuristics. We easily avoid generating such formulae, but we need them as an intermediate basis for forming other good formulae. llvm-svn: 145906
* Mix some minor misuse of MachineBasicBlock iterator.Evan Cheng2011-12-061-3/+3
| | | | llvm-svn: 145903
* Removed isWinToJoinCrossClass from the register coalescer.Pete Cooper2011-12-061-66/+0
| | | | | | | | The new register allocator is much more able to split back up ranges too constrained by register classes. Fixes <rdar://problem/10466609> llvm-svn: 145899
* allow TinyPtrVector to implicitly convert to ArrayRef.Chris Lattner2011-12-061-0/+9
| | | | llvm-svn: 145898
* Kill off the LoopSplitter. It's not being used or maintained.Lang Hames2011-12-066-942/+0
| | | | llvm-svn: 145897
* Add a comment.Bill Wendling2011-12-061-0/+3
| | | | llvm-svn: 145896
* Tidy up value checking.Jim Grosbach2011-12-061-1/+2
| | | | llvm-svn: 145895
* MipsAsmBackend.cpp, PPCAsmBackend.cpp: Fix -Asserts build to appease msvc.NAKAMURA Takumi2011-12-062-0/+2
| | | | llvm-svn: 145894
* Update PBQP's analysis usage to reflect the requirements of the inline spiller.Lang Hames2011-12-061-0/+7
| | | | llvm-svn: 145893
* [arm-fast-isel] Doublewords only require word-alignment.Chad Rosier2011-12-062-3/+22
| | | | | | rdar://10528060 llvm-svn: 145891
* Align ARM constant pool islands via their basic block.Jakob Stoklund Olesen2011-12-063-3/+7
| | | | | | | | | | | Previously, all ARM::CONSTPOOL_ENTRY instructions had a hardwired alignment of 4 bytes emitted by ARMAsmPrinter. Now the same alignment is set on the basic block. This is in preparation of supporting ARM constant pool islands with different alignments. llvm-svn: 145890
* Use logarithmic units for basic block alignment.Jakob Stoklund Olesen2011-12-063-4/+7
| | | | | | | | | | | | | | | | | This was actually a bit of a mess. TLI.setPrefLoopAlignment was clearly documented as taking log2(bytes) units, but the x86 target would still set a preferred loop alignment of '16'. CodePlacementOpt passed this number on to the basic block, and AsmPrinter interpreted it as bytes. Now both MachineFunction and MachineBasicBlock use logarithmic alignments. Obviously, MachineConstantPool still measures alignments in bytes, so we can emulate the thrill of using as. llvm-svn: 145889
* The compact encoding of the registers are 3-bits each. Make sure we shift theBill Wendling2011-12-061-2/+4
| | | | | | value over that much. llvm-svn: 145888
* Fix ARM handling of tBcc branch relaxation.Jim Grosbach2011-12-062-3/+19
| | | | | | rdar://10069056 llvm-svn: 145885
* Use an existing function.Jakob Stoklund Olesen2011-12-061-10/+1
| | | | llvm-svn: 145883
* Fix unclear wording.Jakob Stoklund Olesen2011-12-061-1/+1
| | | | llvm-svn: 145882
* Move target-specific logic out of generic MCAssembler.Jim Grosbach2011-12-068-6/+77
| | | | | | | | Whether a fixup needs relaxation for the associated instruction is a target-specific function, as the FIXME indicated. Create a hook for that and use it. llvm-svn: 145881
OpenPOWER on IntegriCloud