summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* don't emit useless functions. These were producingChris Lattner2010-02-281-47/+56
| | | | | | warnings in release-assert builds if there were no cases. llvm-svn: 97428
* 80-col violations/trailing whitespace.Mikhail Glushenkov2010-02-281-11/+12
| | | | llvm-svn: 97427
* eliminate GetInt1/2Chris Lattner2010-02-281-16/+3
| | | | llvm-svn: 97426
* hoist the new isel interpreter out of DAGISelHeader.hChris Lattner2010-02-283-823/+871
| | | | | | | | (which gets #included into the middle of each target's DAGISel class) into a .cpp file where it is only compiled once. llvm-svn: 97425
* change a few opcodes to use VBRs instead of embeddingChris Lattner2010-02-283-143/+45
| | | | | | immediate sizes into the opcode. llvm-svn: 97423
* move all the opcodes out of DAGISelHeader.h (which getsChris Lattner2010-02-282-55/+58
| | | | | | | #included into the middle of each isel class) into a real header. llvm-svn: 97421
* resolve a fixme by using hte new flag.Chris Lattner2010-02-281-9/+7
| | | | llvm-svn: 97420
* enhance the EmitNode/MorphNodeTo operands to take a bit thatChris Lattner2010-02-286-33/+43
| | | | | | | | specifies whether there is an output flag or not. Use this instead of redundantly encoding the chain/flag results in the output vtlist. llvm-svn: 97419
* enhance the new isel to handle the 'node already exists'Chris Lattner2010-02-282-16/+30
| | | | | | case of MorphNodeTo directly. llvm-svn: 97417
* use MorphNodeTo instead of SelectNodeTo. SelectNodeToChris Lattner2010-02-285-43/+46
| | | | | | is just a silly wrapper around MorphNodeTo. llvm-svn: 97416
* enhance the new isel to use SelectNodeTo for most patterns,Chris Lattner2010-02-287-75/+218
| | | | | | | | | even some the old isel didn't. There are several parts of this that make me feel dirty, but it's no worse than the old isel. I'll clean up the parts I can do without ripping out the old one next. llvm-svn: 97415
* Add support getting the operands of a User to ocaml.Erick Tryzelaar2010-02-284-0/+36
| | | | llvm-svn: 97414
* Add support for global aliases to ocaml.Erick Tryzelaar2010-02-284-0/+29
| | | | llvm-svn: 97413
* Add support for inserting inline asm to ocaml.Erick Tryzelaar2010-02-284-1/+28
| | | | llvm-svn: 97412
* add some random nounwinds.Chris Lattner2010-02-282-2/+2
| | | | llvm-svn: 97411
* I'm removing andersaa after the branch is made.Chris Lattner2010-02-281-0/+1
| | | | llvm-svn: 97409
* simplify this code, return only ever has zero or one operands.Chris Lattner2010-02-281-8/+6
| | | | llvm-svn: 97408
* Properly clear all the extra bits in a significand when making a NaN from anJohn McCall2010-02-281-8/+28
| | | | | | | APInt. Be certain to set the integer bit in an x87 extended-precision significand so that we don't accidentally make a pseudo-NaN. llvm-svn: 97382
* Add an override to StringRef::getAsInteger which parses into an APInt.John McCall2010-02-283-12/+132
| | | | | | | | | | It gets its own implementation totally divorced from the (presumably performance-sensitive) routines which parse into a uint64_t. Add APInt::operator|=(uint64_t), which is situationally much better than using a full APInt. llvm-svn: 97381
* Add support for getting a null pointer.Erick Tryzelaar2010-02-283-0/+12
| | | | llvm-svn: 97380
* Add a way to look up a type by it's name in a module.Erick Tryzelaar2010-02-284-0/+27
| | | | llvm-svn: 97379
* Add replace_all_uses_with to ocaml.Erick Tryzelaar2010-02-282-0/+7
| | | | llvm-svn: 97378
* Add support for global variables in an address space for llvm-c and ocaml.Erick Tryzelaar2010-02-286-25/+103
| | | | llvm-svn: 97377
* Add indirect br support to llvm-c and ocaml.Erick Tryzelaar2010-02-286-0/+73
| | | | llvm-svn: 97376
* Add metadata functions to llvm-c and ocaml.Erick Tryzelaar2010-02-286-1/+289
| | | | llvm-svn: 97375
* remove redundant instruction.Chris Lattner2010-02-281-2/+2
| | | | llvm-svn: 97374
* Add the new builder arthmetic instructions to llvm-c and ocaml.Erick Tryzelaar2010-02-286-1/+320
| | | | llvm-svn: 97372
* Add the new union arthmetic instructions to llvm-c and ocaml.Erick Tryzelaar2010-02-286-7/+61
| | | | llvm-svn: 97371
* Add generic binary op and cast builder functions.Erick Tryzelaar2010-02-282-0/+18
| | | | llvm-svn: 97370
* Rename ocaml vmcore tests to make it easier to insert tests.Erick Tryzelaar2010-02-281-228/+226
| | | | llvm-svn: 97369
* Fix incorrect uses of an ocaml llbuilder without extracting it from ocaml.Erick Tryzelaar2010-02-281-4/+3
| | | | llvm-svn: 97368
* Remove malloc and free from the ocaml bindings.Erick Tryzelaar2010-02-284-51/+3
| | | | llvm-svn: 97367
* Revert r97245 which seems to be causing performance problems.Bob Wilson2010-02-283-9/+7
| | | | llvm-svn: 97366
* Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-widthJohn McCall2010-02-286-17/+107
| | | | | | | | payloads. APFloat's internal folding routines always make QNaNs now, instead of sometimes making QNaNs and sometimes SNaNs depending on the type. llvm-svn: 97364
* enhance EmitNodeMatcher to keep track of the recorded slot numbersChris Lattner2010-02-285-11/+26
| | | | | | it will populate. llvm-svn: 97363
* add infrastructure to support forming selectnodeto. Not used yetChris Lattner2010-02-285-23/+79
| | | | | | because I have to go on another detour first. llvm-svn: 97362
* Don't try to replace physical registers when doing CSE.Dan Gohman2010-02-282-1/+51
| | | | llvm-svn: 97360
* Add a flag to addPassesToEmit* to disable the Verifier pass runDan Gohman2010-02-287-20/+42
| | | | | | after LSR, so that clients can opt in. llvm-svn: 97357
* Generalize my hack to use SDNodeInfo to find out when aChris Lattner2010-02-283-19/+55
| | | | | | | | | node is always guaranteed to have a particular type instead of hacking in ISD::STORE explicitly. This allows us to use implied types for a broad range of nodes, even target specific ones. llvm-svn: 97355
* Implement XMM subregs.Dan Gohman2010-02-285-163/+168
| | | | | | | | | | | Extracting the low element of a vector is now done with EXTRACT_SUBREG, and the zero-extension performed by load movss is now modeled with SUBREG_TO_REG, and so on. Register-to-register movss and movsd are no longer considered copies; they are two-address instructions which insert a scalar into a vector. llvm-svn: 97354
* Don't unconditionally suppress hoisting of instructions with implicitDan Gohman2010-02-281-26/+4
| | | | | | | | defs or uses. The regular def and use checking below covers them, and can be more precise. It's safe to hoist an instruction with a dead implicit def if the register isn't live into the loop header. llvm-svn: 97352
* Add nounwinds.Dan Gohman2010-02-271-2/+2
| | | | llvm-svn: 97349
* The mayHaveSideEffects flag is no longer used.Dan Gohman2010-02-2716-37/+25
| | | | llvm-svn: 97348
* change CheckOpcodeMatcher to hold the SDNodeInfo instead ofChris Lattner2010-02-275-31/+32
| | | | | | the opcode name. This gives the optimizer more semantic info. llvm-svn: 97346
* remove a bogus pattern, which had the same pattern as STDUChris Lattner2010-02-272-8/+1
| | | | | | | | | but codegen'd differently. This really wanted to use some sort of subreg to get the low 4 bytes of the G8RC register or something. However, it's invalid and nothing is testing it, so I'm just zapping the bogosity. llvm-svn: 97345
* add another case from the ppc backend. This is obviously a huge andChris Lattner2010-02-271-1/+4
| | | | | | dissatisfying hack. TODO: Improve it. :) llvm-svn: 97317
* fix an incorrect (overly conservative) predicate.Chris Lattner2010-02-271-1/+1
| | | | llvm-svn: 97316
* fix logic in DEBUG.Chris Lattner2010-02-271-2/+2
| | | | llvm-svn: 97315
* teach the optimizer that opcode == ISD::STORE is contradictoryChris Lattner2010-02-273-8/+18
| | | | | | | | with getType() == MVT::i32 etc. Teach it that two different integer constants are contradictory. This cuts 1K off the X86 table, down to 98k llvm-svn: 97314
* fix grammaro's pointed out by danielChris Lattner2010-02-271-2/+2
| | | | llvm-svn: 97313
OpenPOWER on IntegriCloud