summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Remove a poor scheduling heuristic.Evan Cheng2007-09-281-34/+5
| | | | llvm-svn: 42443
* Trim some unneeded fields.Evan Cheng2007-09-283-26/+12
| | | | llvm-svn: 42442
* Fix long double -> uint64 conversion.Dale Johannesen2007-09-281-1/+5
| | | | llvm-svn: 42440
* minor long double related changesDale Johannesen2007-09-282-0/+19
| | | | llvm-svn: 42439
* Make the checks for DW_FORM_data4 consistent with the others, andDan Gohman2007-09-281-2/+6
| | | | | | add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf. llvm-svn: 42435
* Use 32-bit data directives for DW_FORM_data4 format data, even onDan Gohman2007-09-281-8/+10
| | | | | | targets with 64-bit addresses. llvm-svn: 42434
* Add sqrt and powi intrinsics for long double.Dale Johannesen2007-09-283-6/+19
| | | | llvm-svn: 42423
* TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targetsDan Gohman2007-09-271-15/+16
| | | | | | | | other than PPC64. Instead of fixing it, just remove it and fix all the places that use it to use TargetData::getPointerSize() instead, as there aren't very many. Most of the references were in DwarfWriter.cpp. llvm-svn: 42419
* CollectorMetadata abstractly describes stack maps for a function.Gordon Henriksen2007-09-271-0/+185
| | | | | | | | | | | | | | | | | | | | It includes: - location and of each safe point in machine code (identified by a label) - location of each root within the stack frame (identified by an offset), including the metadata tag provided to llvm.gcroot in the user program - size of the stack frame (for collectors which want to cheat on stack crawling :) - and eventually will include liveness It is to be populated by back-ends during code-generation. CollectorModuleMetadata aggregates this information across the entire module. llvm-svn: 42418
* My previous Registry.h header, as well as Collectors.h, which is theGordon Henriksen2007-09-271-0/+21
| | | | | | registry for dynamically-loaded garbage collection compiler plugins. llvm-svn: 42415
* Avoid inserting a live register more than once.Evan Cheng2007-09-271-8/+18
| | | | llvm-svn: 42410
* Silence a compiler warning.Evan Cheng2007-09-271-1/+1
| | | | llvm-svn: 42389
* Boogs.Evan Cheng2007-09-271-10/+10
| | | | llvm-svn: 42388
* Be smarter about which node to force schedule. Reduce # of duplications + ↵Evan Cheng2007-09-271-84/+120
| | | | | | copies; Added statistics. llvm-svn: 42387
* Backtracking only when it won't create a cycle.Evan Cheng2007-09-271-23/+35
| | | | llvm-svn: 42384
* Make temporaries explicit to avoid prematureDale Johannesen2007-09-261-1/+3
| | | | | | destruction of compiler-created ones. llvm-svn: 42383
* - Move getPhysicalRegisterRegClass() from ScheduleDAG to MRegisterInfo.Evan Cheng2007-09-262-89/+191
| | | | | | | - Added ability to emit cross class register copies to the BBRU scheduler. - More aggressive backtracking. llvm-svn: 42375
* Enable codegen for long double abs, sin, cosDale Johannesen2007-09-261-3/+6
| | | | llvm-svn: 42368
* Fix f80 UNDEF.Dale Johannesen2007-09-261-1/+2
| | | | llvm-svn: 42359
* Allow copyRegToReg to emit cross register classes copies.Evan Cheng2007-09-266-16/+21
| | | | | | Tested with "make check"! llvm-svn: 42346
* Move the setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand) andDan Gohman2007-09-251-0/+5
| | | | | | | the check to see if the assembler supports .loc from X86TargetLowering into the superclass TargetLowering. llvm-svn: 42297
* Added major new capabilities to scheduler (only BURR for now) to support ↵Evan Cheng2007-09-255-150/+559
| | | | | | physical register dependency. The BURR scheduler can now backtrace and duplicate instructions in order to avoid "expensive / impossible to copy" values (e.g. status flag EFLAGS for x86) from being clobbered. llvm-svn: 42284
* Don't emit .debug_line header data if there aren't any lines to put in it,Dan Gohman2007-09-241-0/+5
| | | | | | such as will happen when .loc directives are used. llvm-svn: 42277
* Move the Asm->EOL() call for EmitDebugARanges outside the #ifdef forDan Gohman2007-09-241-1/+1
| | | | | | consistency with the other currently empty sections. llvm-svn: 42276
* Add support for emitting .file directives to set up file numbers forDan Gohman2007-09-241-0/+14
| | | | | | use with .loc directives. llvm-svn: 42275
* Add a routine for emitting .file directives, for setting upDan Gohman2007-09-241-0/+11
| | | | | | file numbers to use with .loc directives. llvm-svn: 42272
* Use the correct result value type instead of using getValueType(0)Dan Gohman2007-09-241-4/+3
| | | | | | | in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort in the included testcase. llvm-svn: 42264
* When emitting .set directives, make sure the EH and Debug labels can't conflict.Chris Lattner2007-09-241-10/+20
| | | | llvm-svn: 42257
* initialize isstore/isload fields in ctor, fixing PR1695Chris Lattner2007-09-221-0/+2
| | | | llvm-svn: 42222
* Change APFloat::convertFromInteger to take the incomingDale Johannesen2007-09-212-3/+6
| | | | | | | | | | bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. llvm-svn: 42210
* don't read Block after it is freed. This fixes PR1684Chris Lattner2007-09-211-0/+2
| | | | llvm-svn: 42204
* initialize SetCCResultContents, fixing PR1693Chris Lattner2007-09-211-0/+1
| | | | llvm-svn: 42193
* More long double fixes. x86_64 should build now.Dale Johannesen2007-09-193-15/+49
| | | | llvm-svn: 42155
* Fix longdouble -> uint conversion.Dale Johannesen2007-09-191-2/+3
| | | | llvm-svn: 42143
* Use struct SDep instead of std::pair for SUnit pred and succ lists. First stepEvan Cheng2007-09-194-36/+36
| | | | | | in tracking physical register output dependencies. llvm-svn: 42125
* Fix a bogus splat xform:Evan Cheng2007-09-181-2/+1
| | | | | | | | shuffle <undef, undef, x, undef>, <undef, undef, undef, undef>, <2, 2, 2, 2> != <undef, undef, x, undef> llvm-svn: 42111
* Prevent crash on long double.Dale Johannesen2007-09-181-0/+4
| | | | llvm-svn: 42103
* Don't pass back a reference to a temporary.Bill Wendling2007-09-181-2/+1
| | | | llvm-svn: 42086
* The exception handling function info should be reset for each newBill Wendling2007-09-181-4/+2
| | | | | | | function. The information isn't used heavily -- it's only used at the end of exception handling emission -- so there's no need to cache it. llvm-svn: 42078
* Objective-C was generating EH frame info like this:Bill Wendling2007-09-182-10/+20
| | | | | | | | | "_-[NSString(local) isNullOrNil]".eh = 0 .no_dead_strip "_-[NSString(local) isNullOrNil]".eh The ".eh" should be inside the quotes. llvm-svn: 42074
* Do not hide APInt::dump() inside #ifndef NDEBUG.Devang Patel2007-09-171-2/+0
| | | | llvm-svn: 42068
* This is not ideal but unbreaks build failure.Devang Patel2007-09-171-0/+2
| | | | | | APInt::dump() is inside #ifndef NDEBUG, however SelectionDAG dump() routines are not. llvm-svn: 42047
* Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfoChris Lattner2007-09-172-0/+2
| | | | | | | Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table. llvm-svn: 42042
* Adjust per revew comments.Dale Johannesen2007-09-161-16/+7
| | | | llvm-svn: 42002
* Remove the assumption that FP's are either float orDale Johannesen2007-09-143-31/+43
| | | | | | | | | | | | | double from some of the many places in the optimizers it appears, and do something reasonable with x86 long double. Make APInt::dump() public, remove newline, use it to dump ConstantSDNode's. Allow APFloats in FoldingSet. Expand X86 backend handling of long doubles (conversions to/from int, mostly). llvm-svn: 41967
* Remove isReg, isImm, and isMBB, and change all their users to use Dan Gohman2007-09-148-35/+35
| | | | | | | isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. llvm-svn: 41958
* Remove spurious consts. This fixes warnings with compilers thatDan Gohman2007-09-141-1/+1
| | | | | | are strict about such things. llvm-svn: 41956
* Fix build problems on Cygwin (PR1652), patch by Patrick Walton.Chris Lattner2007-09-131-10/+10
| | | | llvm-svn: 41923
* Bug fixes.Evan Cheng2007-09-131-4/+4
| | | | llvm-svn: 41900
* Remove dead code.Evan Cheng2007-09-121-1/+1
| | | | llvm-svn: 41899
OpenPOWER on IntegriCloud