summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/IA64/IA64ISelPattern.cpp
Commit message (Collapse)AuthorAgeFilesLines
* BOOM!Duraid Madina2006-01-191-2417/+0
| | | | llvm-svn: 25460
* bswap implementationNate Begeman2006-01-141-0/+1
| | | | llvm-svn: 25312
* new nodesChris Lattner2006-01-131-0/+4
| | | | llvm-svn: 25271
* Missed a spot.Nate Begeman2006-01-111-0/+2
| | | | llvm-svn: 25233
* Had expand logic backward.Jim Laskey2006-01-051-0/+2
| | | | llvm-svn: 25105
* Added initial support for DEBUG_LABEL allowing debug specific labels to beJim Laskey2006-01-051-1/+0
| | | | | | inserted in the code. llvm-svn: 25104
* remove dead codeChris Lattner2005-12-221-7/+0
| | | | llvm-svn: 24965
* Disengage DEBUG_LOC from non-PPC targets.Jim Laskey2005-12-211-0/+1
| | | | llvm-svn: 24919
* IA64 doesn't support the LOCATION node, and for some reason the ISelPatternChris Lattner2005-12-011-0/+3
| | | | | | stuff isn't using ISelLowering.cpp llvm-svn: 24567
* DAG->DAG instruction selection for ia64! "hello world" works, not much else.Duraid Madina2005-10-281-3/+8
| | | | | | | | | | | | | | | | | | | | | use -enable-ia64-dag-isel to turn this on TODO: delete lowering stuff from the pattern isel : get operations on predicate bits working : get other bits of pseudocode going : use sampo's mulh/mull-using divide-by-constant magic : *so* many patterns ("extr", "tbit" and "dep" will be fun :) : add FP : add a JIT! : get it working 100% in short: this'll be happier in a couple of weeks, but it's here now so the tester can make me feel guilty sooner. OTHER: there are a couple of fixes to the pattern isel, in particular making the linker happy with big blobs of fun like pypy. llvm-svn: 24058
* Don't generate operations that aren't yet supportedNate Begeman2005-10-211-1/+4
| | | | llvm-svn: 23858
* Fix CodeGen/Generic/bool-to-double.llChris Lattner2005-10-071-0/+3
| | | | llvm-svn: 23652
* Add FP versions of the binary operators, keeping the int and fp worlds seperate.Chris Lattner2005-09-281-58/+65
| | | | | | | | Though I have done extensive testing, it is possible that this will break things in configs I can't test. Please let me know if this causes a problem and I'll fix it ASAP. llvm-svn: 23505
* Handle ANY_EXTEND like ZERO_EXTEND. Simplify the extend/truncate code onChris Lattner2005-09-021-59/+23
| | | | | | the observation that it only has to handle i1 -> i64 and i64 -> i1. llvm-svn: 23201
* Fix a bug in my previous checkinChris Lattner2005-08-261-1/+1
| | | | llvm-svn: 23082
* Change ConstantPoolSDNode to actually hold the Constant itself instead ofChris Lattner2005-08-261-2/+5
| | | | | | | | putting it into the constant pool. This allows the isel machinery to create constants that it will end up deciding are not needed, without them ending up in the resultant function constant pool. llvm-svn: 23081
* fix a warning in optimized buildChris Lattner2005-08-251-1/+1
| | | | llvm-svn: 23030
* Fix a crash I introduced into the IA64 backend with my copyfromreg change.Chris Lattner2005-08-221-1/+3
| | | | | | It used to crash on any function that took float arguments. llvm-svn: 22973
* Add a pass name for -time-passes outputChris Lattner2005-08-221-0/+1
| | | | llvm-svn: 22970
* reenable collapse of loadimm+AND -> dep.z (thanks guys)Duraid Madina2005-08-211-5/+6
| | | | llvm-svn: 22944
* Repair an out by one error for IA64.Jim Laskey2005-08-201-1/+1
| | | | llvm-svn: 22942
* a bugfix (up top) and a quick repair job: disable generation of dep.zDuraid Madina2005-08-191-3/+3
| | | | | | | | (which died about a week ago) so we're back to load-(2^n-1)-then-AND sequences. slow, but things should now be Almost Completely Working, modulo those pesky alignment/ABI issues. llvm-svn: 22904
* update the backends to work with the new CopyFromReg/CopyToReg/ImplicitDef nodesChris Lattner2005-08-161-9/+12
| | | | llvm-svn: 22807
* Implement BR_CC and BRTWOWAY_CC. This allows the removal of a rather nastyNate Begeman2005-08-161-0/+1
| | | | | | | fixme from the PowerPC backend. Emit slightly better code for legalizing select_cc. llvm-svn: 22805
* sorry!! this is temporary; for some reason the nasty constmul code seems toDuraid Madina2005-08-101-3/+4
| | | | | | | be an infinite loop when using g++-4.0.1*, this kills the ia64 nightly tester. A proper fix shall be forthcoming!!! thanks for not killing me. :) llvm-svn: 22748
* Update the targets to the new SETCC/CondCodeSDNode interfaces.Chris Lattner2005-08-091-97/+91
| | | | llvm-svn: 22729
* Update to use the new MathExtras.h support for log2 computation.Chris Lattner2005-08-021-25/+4
| | | | | | Patch contributed by Jim Laskey! llvm-svn: 22594
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-84/+84
| | | | llvm-svn: 22523
* Change *EXTLOAD to use an VTSDNode operand instead of being an MVTSDNode.Chris Lattner2005-07-101-4/+3
| | | | | | | | | | | | This is the last MVTSDNode. This allows us to eliminate a bunch of special case code for handling MVTSDNodes. Also, remove some uses of dyn_cast that should really be cast (which is cheaper in a release build). llvm-svn: 22368
* Change TRUNCSTORE to use a VTSDNode operand instead of being an MVTSTDNodeChris Lattner2005-07-101-1/+1
| | | | llvm-svn: 22366
* Make several cleanups to Andrews varargs change:Chris Lattner2005-07-051-27/+16
| | | | | | | | | | | | 1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. 4. Now that we have Value*'s available in the lowering methods, pass them into any load/stores from the valist that are emitted llvm-svn: 22339
* If we support structs as va_list, we must pass pointers to them to va_copyAndrew Lenharth2005-06-221-13/+0
| | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
* core changes for varargsAndrew Lenharth2005-06-181-21/+35
| | | | llvm-svn: 22254
* re-enable direct calls, this should just be a performance boostDuraid Madina2005-05-201-6/+5
| | | | llvm-svn: 22148
* make angry compilers happy againDuraid Madina2005-05-151-1/+2
| | | | llvm-svn: 22054
* treat TAILCALL nodes identically to CALL nodesChris Lattner2005-05-131-1/+3
| | | | llvm-svn: 21977
* Add an isTailCall flag to LowerCallToChris Lattner2005-05-131-2/+3
| | | | llvm-svn: 21958
* rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN.Chris Lattner2005-05-121-6/+6
| | | | llvm-svn: 21915
* Pass in Calling Convention to use into LowerCallToChris Lattner2005-05-121-1/+2
| | | | llvm-svn: 21899
* add the popcount instruction and support this in the iselDuraid Madina2005-05-111-1/+6
| | | | | | | the primary user of this will probably end up being find-first-set-bit/find- last-set-bit, which i'll get around to... llvm-svn: 21860
* No really IA*64* :)Chris Lattner2005-05-111-3/+3
| | | | llvm-svn: 21858
* fix and cleanup constmul code a bit, this fixes mediabench/toast andDuraid Madina2005-05-091-13/+10
| | | | | | probably a couple of other tests. llvm-svn: 21814
* fix typoAndrew Lenharth2005-05-041-0/+5
| | | | llvm-svn: 21693
* support multiplication by constant negative integersDuraid Madina2005-05-021-4/+13
| | | | | | | this constmul code is still buggy though, so beware. mul by 7427 is currently broken, for example. will fix it when I get a moment :) llvm-svn: 21652
* add support for bools to SELECT, this fixes Prolangs-C/bison from theDuraid Madina2005-05-021-6/+35
| | | | | | testsuite, however 09-vor is still dead (hopefully for other reasons!) llvm-svn: 21651
* This target doesn't support the FSIN/FCOS/FSQRT nodes yetChris Lattner2005-04-301-0/+8
| | | | llvm-svn: 21633
* Implement Value* tracking for loads and stores in the selection DAG. This ↵Andrew Lenharth2005-04-271-2/+2
| | | | | | | | enables one to use alias analysis in the backends. (TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null. llvm-svn: 21599
* clean up some warningsDuraid Madina2005-04-271-15/+15
| | | | llvm-svn: 21590
* constmul bugfix: multiply by 27611 was brokenDuraid Madina2005-04-261-11/+10
| | | | llvm-svn: 21564
* clean up the code! (oops) lots more cleaning left, however.Duraid Madina2005-04-261-22/+0
| | | | llvm-svn: 21563
OpenPOWER on IntegriCloud