summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* MC-COFF: Fix .bss section size. Fixes PR8335. Patch by NAKAMUTA Takumi!Michael J. Spencer2010-10-091-1/+1
| | | | llvm-svn: 116155
* MC-COFF: Implement InitSections. Fixes PR8335.Michael J. Spencer2010-10-091-0/+39
| | | | llvm-svn: 116151
* MC-COFF: Add COFFAsmParser. Completes PR8343.Michael J. Spencer2010-10-093-1/+150
| | | | llvm-svn: 116150
* Fix Whitespace.Michael J. Spencer2010-10-092-104/+104
| | | | llvm-svn: 116149
* MC-COFF: Assert on non-coff sections.Michael J. Spencer2010-10-092-0/+18
| | | | llvm-svn: 116148
* Add VLD4 scheduling itineraries.Evan Cheng2010-10-094-20/+64
| | | | llvm-svn: 116143
* MC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for ↵Michael J. Spencer2010-10-092-49/+49
| | | | | | something else. llvm-svn: 116142
* Finish vld3 and vld4.Evan Cheng2010-10-094-34/+78
| | | | llvm-svn: 116140
* Complete vld2 instruction itineries.Evan Cheng2010-10-091-3/+34
| | | | llvm-svn: 116136
* Multiply instructions are issued on pipeline 0. They do not need to reserve ↵Evan Cheng2010-10-091-10/+5
| | | | | | pipeline 1. llvm-svn: 116135
* Correct some load / store instruction itinerary mistakes:Evan Cheng2010-10-094-306/+403
| | | | | | | | 1. Cortex-A8 load / store multiplies can only issue on ALU0. 2. Eliminate A8_Issue, A8_LSPipe will correctly limit the load / store issues. 3. Correctly model all vld1 and vld2 variants. llvm-svn: 116134
* Check to make sure that the iterator isn't at the beginning of the basic blockBill Wendling2010-10-091-0/+4
| | | | | | before decrementing. <rdar://problem/8529919> llvm-svn: 116126
* add jit support for the new psuedo instructions I added forChris Lattner2010-10-081-0/+14
| | | | | | | | | the add/or xform. The JIT isn't mcized yet, boo. This fixes Olden/voronoi, bh and a ton of other stuff that uses the jit. llvm-svn: 116125
* machine a mutable machineinstr down into emitInstruction.Chris Lattner2010-10-081-4/+3
| | | | llvm-svn: 116124
* Fix the store part of this as well. Fixes smg2000.Eric Christopher2010-10-081-9/+4
| | | | llvm-svn: 116123
* Rename SplitEditor::rewrite to finish() and break it out into a couple of newJakob Stoklund Olesen2010-10-082-40/+56
| | | | | | | | | functions: computeRemainder and rewrite. When the remainder breaks up into multiple components, remember to rewrite those uses as well. llvm-svn: 116121
* Avoid compiler warning: comparison between signed and unsigned integer.Evan Cheng2010-10-081-1/+1
| | | | llvm-svn: 116119
* Extract method ProcessUses from LocalRewriter::RewriteMBB. Both parent and childJakob Stoklund Olesen2010-10-081-320/+336
| | | | | | | | are still way too long, but it's a start. No functional change intended. llvm-svn: 116116
* Do not check that the bodies of two defs of same linkonce global are the same.Anton Korobeynikov2010-10-081-1/+1
| | | | | | | Such a check does not make any sense in presense of inlining and other compiler-dependent stuff. This should fix bunch of warnings on mingw32. llvm-svn: 116113
* Implement a few more binary encoding bits. Still very early stage proof-of-Jim Grosbach2010-10-082-0/+49
| | | | | | | | | | concept level stuff at this point, but it is generally working for those instructions that know how to map the operands. This patch fills in the register operands for add/sub/or/etc instructions and adds the conditional execution predicate encoding. llvm-svn: 116112
* Classify value numbers into connected components in linear time.Jakob Stoklund Olesen2010-10-081-23/+15
| | | | llvm-svn: 116105
* Call InitSections in llc and clang so that the binaries produced by themRafael Espindola2010-10-081-0/+1
| | | | | | are easier to diff with those produced by llvm-mc. llvm-svn: 116095
* Filter out illegal formulae after updating offsets, not before, so thatDan Gohman2010-10-081-18/+18
| | | | | | | | | | formulae which become illegal as a result of the offset updating don't escape. This is for rdar://8529692. No testcase yet, because the given cases hit use-list ordering differences. llvm-svn: 116093
* Recommit 116056, now with the missing file...Cameron Esfahani2010-10-082-2/+7
| | | | llvm-svn: 116083
* Don't waste time unfolding simple loads. The unfolded copy won't be hoisted.Evan Cheng2010-10-081-0/+4
| | | | llvm-svn: 116081
* Fix operand latency computation in cases where the definition operand isEvan Cheng2010-10-081-0/+11
| | | | | | | | | | implicit. e.g. %D6<def>, %D7<def> = VLD1q16 %R2<kill>, 0, ..., %Q3<imp-def> %Q1<def> = VMULv8i16 %Q1<kill>, %Q3<kill>, ... The real definition indices are 0,1. llvm-svn: 116080
* CrashRecovery: Fix raise() override to actually send the right signal, *cough*.Daniel Dunbar2010-10-081-1/+1
| | | | llvm-svn: 116072
* Reapply 116059, this time without the fatfingered pasto at the top.Jim Grosbach2010-10-082-22/+22
| | | | | | ''const'ify getMachineOpValue() and associated helpers.' llvm-svn: 116067
* Reverting 116059. Bots are unhappy with it.Jim Grosbach2010-10-082-23/+23
| | | | llvm-svn: 116064
* reverting 116056: win64_params.ll may need to be conditionalized?Andrew Trick2010-10-081-5/+1
| | | | llvm-svn: 116063
* Line number 0 indicates there is no source line/file name info available for ↵Devang Patel2010-10-081-1/+7
| | | | | | this construct. llvm-svn: 116061
* 'const'ify getMachineOpValue() and associated helpers.Jim Grosbach2010-10-082-23/+23
| | | | llvm-svn: 116059
* Start separating out code metrics into code size metrics and code ↵Kenneth Uildriks2010-10-081-10/+53
| | | | | | performance metrics. Partial Specialization will apply the former to function specializations, and the latter to all callsites that can use a specialization, in order to decide whether to create a specialization llvm-svn: 116057
* Small patch to restore home register stack space allocation for the Win64 ↵Cameron Esfahani2010-10-081-1/+5
| | | | | | case. Add test case. This code eventually needs to be tighter, since it's always allocating it, even in leaf routines. llvm-svn: 116056
* Change register allocation order for ARM VFP and NEON registers to put theBob Wilson2010-10-081-6/+72
| | | | | | | | | | | | | | | | callee-saved registers at the end of the lists. Also prefer to avoid using the low registers that are in register subclasses required by certain instructions, so that those registers will more likely be available when needed. This change makes a huge improvement in spilling in some cases. Thanks to Jakob for helping me realize the problem. Most of this patch is fixing the testsuite. There are quite a few places where we're checking for specific registers. I changed those to wildcards in places where that doesn't weaken the tests. The spill-q.ll and thumb2-spill-q.ll tests stopped spilling with this change, so I added a bunch of live values to force spills on those tests. llvm-svn: 116055
* fix a subtle bug I introduced in my refactoring, where we stopped preferringChris Lattner2010-10-081-24/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the i8 versions of instructions in some cases. In test6, we started generating: cmpq $0, -8(%rsp) ## encoding: [0x48,0x81,0x7c,0x24,0xf8,0x00,0x00,0x00,0x00] ## <MCInst #478 CMP64mi32 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> instead of: cmpq $0, -8(%rsp) ## encoding: [0x48,0x83,0x7c,0x24,0xf8,0x00] ## <MCInst #479 CMP64mi8 ## <MCOperand Reg:114> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Imm:-8> ## <MCOperand Reg:0> ## <MCOperand Imm:0>> Fix this and add some comments. llvm-svn: 116053
* reapply: Use the new TB_NOT_REVERSABLE flag instead of specialChris Lattner2010-10-083-38/+77
| | | | | | | | | reapply: reimplement the second half of the or/add optimization. We should now with no changes. Turns out that one missing "Defs = [EFLAGS]" can upset things a bit. llvm-svn: 116040
* reapply the patch reverted in r116033:Chris Lattner2010-10-084-65/+126
| | | | | | | | "Reimplement (part of) the or -> add optimization. Matching 'or' into 'add'" With a critical fix: the add pseudos clobber EFLAGS. llvm-svn: 116039
* Update CMake.Daniel Dunbar2010-10-081-1/+0
| | | | llvm-svn: 116034
* Revert "Reimplement (part of) the or -> add optimization. Matching 'or' intoDaniel Dunbar2010-10-084-126/+65
| | | | | | 'add'", which seems to have broken just about everything. llvm-svn: 116033
* Revert "Use the new TB_NOT_REVERSABLE flag instead of special ", which dependsDaniel Dunbar2010-10-081-26/+20
| | | | | | on r116007, which I am about to revert. llvm-svn: 116032
* Revert "reimplement the second half of the or/add optimization. We should now",Daniel Dunbar2010-10-083-51/+18
| | | | | | which depends on r116007, which I am about to revert. llvm-svn: 116031
* Move to thumb2 loads, fixes a problem with incoming registersEric Christopher2010-10-081-16/+13
| | | | | | | | as thumb1. Fixes lencod. llvm-svn: 116027
* reimplement the second half of the or/add optimization. We should nowChris Lattner2010-10-083-18/+51
| | | | | | | | | | only end up emitting LEA instead of OR. If we aren't able to promote something into an LEA, we should never be emitting it as an ADD. Add some testcases that we emit "or" in cases where we used to produce an "add". llvm-svn: 116026
* Enable binary encoding of some simple instructions.Jim Grosbach2010-10-081-0/+8
| | | | llvm-svn: 116022
* Make <target>CodeEmitter::getBinaryCodeForInstr() a const method.Jim Grosbach2010-10-084-8/+8
| | | | llvm-svn: 116018
* Use the new TB_NOT_REVERSABLE flag instead of special Chris Lattner2010-10-081-20/+26
| | | | | | casing FsMOVAPDrr/FsMOVAPSrr. llvm-svn: 116016
* simplify some map operations.Chris Lattner2010-10-072-16/+14
| | | | llvm-svn: 116014
* MC-COFF: Handle relaxation in COFF better. Fixes PR8321.Michael J. Spencer2010-10-071-1/+29
| | | | llvm-svn: 116013
* Delete the FormulaSorter class and inline its one method into itsDan Gohman2010-10-071-28/+10
| | | | | | | one user. This code will be restructured soon and FormulaSorter is getting in the way. llvm-svn: 116012
OpenPOWER on IntegriCloud