summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Added a MRegisterInfo hook that tells PEI the target is responsible forEvan Cheng2007-01-251-2/+3
| | | | | | rounding the stack frame to a multiple of stack alignment. llvm-svn: 33504
* 1. Remove dwarf-verbose option (now asm-verbose.)Jim Laskey2007-01-251-36/+24
| | | | | | 2. Clean up end of lines. llvm-svn: 33499
* Migrate print routines to asm to be shared by exception handling.Jim Laskey2007-01-252-369/+382
| | | | llvm-svn: 33498
* Repair debug frames as a prelude to eh_frames. Switched to using MachineMovesJim Laskey2007-01-242-16/+28
| | | | | | by value so that clean up is less confusing (these vectors tend to be small.) llvm-svn: 33488
* Use asm printer to emit alignmentJim Laskey2007-01-241-8/+2
| | | | llvm-svn: 33485
* Make ivars private and use getters. Have the MachOWriter return "Mach-OBill Wendling2007-01-241-2/+2
| | | | | | Writer" for the pass name. llvm-svn: 33483
* Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().Evan Cheng2007-01-241-1/+1
| | | | llvm-svn: 33482
* Use the TargetMachOWriterInfo class to get this information.Bill Wendling2007-01-241-2/+2
| | | | llvm-svn: 33478
* PEI is now responsible for adding MaxCallFrameSize to frame size and align ↵Evan Cheng2007-01-231-1/+16
| | | | | | the stack. Each target can further adjust the frame size if necessary. llvm-svn: 33460
* Switch this to use SmallSet to avoid mallocs in the common case.Chris Lattner2007-01-231-3/+3
| | | | llvm-svn: 33457
* Fix a bunch of inline asm failuresChris Lattner2007-01-231-0/+1
| | | | llvm-svn: 33454
* Remove the DoubleTy special case.Evan Cheng2007-01-221-9/+5
| | | | llvm-svn: 33449
* For PR970:Reid Spencer2007-01-211-44/+50
| | | | | | | Clean up handling of isFloatingPoint() and dealing with PackedType. Patch by Gordon Henriksen! llvm-svn: 33415
* Teach TargetData to handle 'preferred' alignment for each target, and useChris Lattner2007-01-205-18/+17
| | | | | | these alignment amounts to align scalars when we can. Patch by Scott Michel! llvm-svn: 33409
* Fix for PR1108: type of insert_vector_elt index operand is PtrVT, not MVT::i32.Evan Cheng2007-01-201-3/+4
| | | | llvm-svn: 33398
* Remove an unused variable.Evan Cheng2007-01-201-1/+0
| | | | llvm-svn: 33396
* We not align the final stack slot but instead let the target do so in ↵Evan Cheng2007-01-201-7/+0
| | | | | | emitPrologue(). Each target can make adjustments to the stack frame and re-align the stack as it deem appropriate. Do not align it twice which can end up wasting stack space. llvm-svn: 33387
* GetRegForReload() now keeps track which registers have been considered and ↵Evan Cheng2007-01-191-8/+32
| | | | | | | | | | | | | | rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this: t1 := op t2, t3 t2 <- assigned r0 for use by the reload but ended up reuse r1 t3 <- assigned r1 for use by the reload but ended up reuse r0 t1 <- desires r1 sees r1 is taken by t2, tries t2's reload register r0 sees r0 is taken by t3, tries t3's reload register r1 sees r1 is taken by t2, tries t2's reload register r0 ... llvm-svn: 33382
* For PR1043:Reid Spencer2007-01-191-0/+1
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* Remove this xform:Evan Cheng2007-01-191-7/+26
| | | | | | | | | | (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) Replace it with: (add (shl (add x, c1), c2), ) -> (add (add (shl x, c2), c1<<c2), ) This fixes test/CodeGen/ARM/smul.ll llvm-svn: 33361
* Have the OutputBuffer take the is64Bit and isLittleEndian booleans.Bill Wendling2007-01-182-14/+23
| | | | llvm-svn: 33316
* add new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission.Chris Lattner2007-01-181-1/+9
| | | | llvm-svn: 33314
* Changed to use the OutputBuffer instead of the methods in MachO and ELFBill Wendling2007-01-172-127/+149
| | | | | | writers. llvm-svn: 33311
* Revert patch.Bill Wendling2007-01-172-156/+126
| | | | llvm-svn: 33298
* Use the methods in the TargetObjInfo object instead of internal methods.Bill Wendling2007-01-172-126/+156
| | | | llvm-svn: 33289
* Fix PR1114 and CodeGen/Generic/2007-01-15-LoadSelectCycle.ll by beingChris Lattner2007-01-161-25/+41
| | | | | | | careful when folding "c ? load p : load q" that C doesn't reach either load. If so, folding this into load (c ? p : q) will induce a cycle in the graph. llvm-svn: 33251
* add options to view the dags before the first or second pass of dag combine.Chris Lattner2007-01-161-0/+18
| | | | llvm-svn: 33249
* Fix for PR1095:Bill Wendling2007-01-161-3/+3
| | | | | | | | LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for the X86 and PPC backends. It defaults to "0", the first variant of a compound inline asm expression. llvm-svn: 33246
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-152-3/+3
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* eliminate calls to Type::isInteger, preferring isIntegral instead.Chris Lattner2007-01-151-2/+2
| | | | llvm-svn: 33222
* Compensate for loss of DerivedTypes.h in TargetLowering.hReid Spencer2007-01-121-0/+1
| | | | llvm-svn: 33159
* Move a function out of line.Reid Spencer2007-01-121-0/+21
| | | | llvm-svn: 33158
* Minor fix.Evan Cheng2007-01-121-1/+1
| | | | llvm-svn: 33149
* Simplify codeChris Lattner2007-01-121-4/+1
| | | | llvm-svn: 33123
* For PR1064:Reid Spencer2007-01-122-45/+56
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-122-3/+3
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Store default libgcc routine names and allow them to be redefined by target.Evan Cheng2007-01-122-82/+205
| | | | llvm-svn: 33105
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-113-5/+5
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-113-20/+20
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Naming consistency.Evan Cheng2007-01-081-25/+27
| | | | llvm-svn: 33026
* Fix for PR1075: bottom-up register-reduction scheduling actually increases ↵Evan Cheng2007-01-081-120/+72
| | | | | | | | | | register pressure. - Fixed bugs in sethi-ullman number computation and priority queue comparison functions. - Separate code that handles priority computation special cases from SU number computation. llvm-svn: 33025
* Implement some trivial FP foldings when -enable-unsafe-fp-math is specified.Chris Lattner2007-01-081-0/+15
| | | | | | This implements CodeGen/PowerPC/unsafe-math.ll llvm-svn: 33024
* Need to handle static declarations properly.Jim Laskey2007-01-081-6/+9
| | | | llvm-svn: 33022
* llvm 2.0 doesn't support llvm.isunordered.*Chris Lattner2007-01-071-17/+0
| | | | llvm-svn: 32994
* remove support for llvm.isunorderedChris Lattner2007-01-071-22/+0
| | | | llvm-svn: 32992
* Change the interface to Module::getOrInsertFunction to be easier to use,to ↵Chris Lattner2007-01-071-74/+39
| | | | | | | | resolve PR1088, and to help PR411. This simplifies many clients also llvm-svn: 32989
* Expand fcopysign to the bitwise sequence if select is marked as expensive.Evan Cheng2007-01-051-4/+6
| | | | llvm-svn: 32940
* Bug in ExpandFCOPYSIGNToBitwiseOps(). Clear the old sign bit of operand 0Evan Cheng2007-01-051-4/+14
| | | | | | before or'ing in the sign bit of operand 1. llvm-svn: 32930
* CopyToReg source operand can be a register as well. e.g. Copy from ↵Evan Cheng2007-01-051-2/+6
| | | | | | GlobalBaseReg. llvm-svn: 32929
* GEP subscript is interpreted as a signed value.Evan Cheng2007-01-051-1/+1
| | | | llvm-svn: 32888
OpenPOWER on IntegriCloud