aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add declaration attribute to a variable DIE, if there is a separate DIE for ↵Devang Patel2010-02-091-0/+1
| | | | | | the definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this code, duh.Chris Lattner2010-02-091-8/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95643 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6193, only considering sign extensions *from i1* for thisChris Lattner2010-02-091-5/+10
| | | | | | | xform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95642 91177308-0d34-0410-b5e6-96231b3b80d8
* Add file in here too.Eric Christopher2010-02-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95641 91177308-0d34-0410-b5e6-96231b3b80d8
* make -show-inst be formatted a bit nicer. Before:Chris Lattner2010-02-091-8/+12
| | | | | | | | | | | | | | | | | | | | movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>> after: movl $3735928559, a ## <MCInst #1273 ## <MCOperand Reg:0> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Expr:(a)> ## <MCOperand Reg:0> ## <MCOperand Expr:(3735928559)>> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95637 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a bug in the PBQP allocator's findCoalesces method.Lang Hames2010-02-091-6/+17
| | | | | | | | Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95636 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement x86 asm parsing support for %st and %st(4)Chris Lattner2010-02-091-0/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
* Added copy sensible construction & assignment to PBQP graphs and fixed a ↵Lang Hames2010-02-092-18/+85
| | | | | | memory access bug in the heuristic solver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95633 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new pass to do llvm.objsize lowering using SCEV.Eric Christopher2010-02-091-0/+114
| | | | | | | | | | | | | Initial skeleton and SCEVUnknown lowering implemented, the rest should come relatively quickly. Move testcase to new directory. Move pass to right before SimplifyLibCalls - which is moved down a bit so we can take advantage of a few opts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628 91177308-0d34-0410-b5e6-96231b3b80d8
* pass stringref by value instead of by const&Chris Lattner2010-02-092-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
* move PR6212 to this file.Chris Lattner2010-02-091-0/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95624 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement AsmPrinter support for several more operators which haveDan Gohman2010-02-091-0/+10
| | | | | | | | direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't consistent between targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
* Document that MCExpr::Mod is actually remainder.Dan Gohman2010-02-081-2/+2
| | | | | | | | | | | | Document that MCExpr::Div, Mod, and the comparison operators are all signed operators. Document that the comparison operators' results are target-dependent. Document that the behavior of shr is target-dependent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95619 91177308-0d34-0410-b5e6-96231b3b80d8
* fix some problems handling large vectors reported in PR6230Chris Lattner2010-02-082-9/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616 91177308-0d34-0410-b5e6-96231b3b80d8
* this is done, tested by CodeGen/ARM/iabs.llChris Lattner2010-02-081-20/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95609 91177308-0d34-0410-b5e6-96231b3b80d8
* tighten up eh.setjmp sequence a bit.Jim Grosbach2010-02-086-29/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95603 91177308-0d34-0410-b5e6-96231b3b80d8
* now that @GOTOFF is no longer represented as a suffix on aChris Lattner2010-02-081-6/+4
| | | | | | | | MCSymbol, we can remove the 'suffix' argument of GetBlockAddressSymbol. Do so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
* unify the paths for external symbols and global variables:Chris Lattner2010-02-082-83/+48
| | | | | | | | 2 files changed, 48 insertions(+), 83 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95599 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the rest of the "@ concatentation" logic in the X86Chris Lattner2010-02-084-127/+63
| | | | | | | backend to use X86MCTargetExpr, simplifying a bunch of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95595 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed the AT&T AsmLexer to report the proper stringsSean Callanan2010-02-081-1/+1
| | | | | | | | | for register tokens. Before, if it encountered '%al,' it would report 'al,' as the token. Now it correctly reports '%al'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95594 91177308-0d34-0410-b5e6-96231b3b80d8
* switch ELF @GOTOFF references to use X86MCTargetExpr.Chris Lattner2010-02-085-12/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95593 91177308-0d34-0410-b5e6-96231b3b80d8
* ConstantFoldConstantExpression can theoretically return the originalDan Gohman2010-02-081-2/+4
| | | | | | | expression; don't go into an infinite loop if it does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
* add an x86 implementation of MCTargetExpr forChris Lattner2010-02-084-3/+89
| | | | | | | | representing @GOT and friends. Use it for personality references as a first use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95588 91177308-0d34-0410-b5e6-96231b3b80d8
* don't make hte dtor private or we can't construct the class.Chris Lattner2010-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95587 91177308-0d34-0410-b5e6-96231b3b80d8
* Add VCVTR (between floating-point and integer, VFP) for disassembly purpose.Johnny Chen2010-02-081-0/+31
| | | | | | | | | | The 'R' suffix means the to-integer operations use the rounding mode specified by the FPSCR, encoded as Inst{7} = 0. A8.6.295 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95584 91177308-0d34-0410-b5e6-96231b3b80d8
* When CodeGen'ing unoptimized code, there may be unfolded constant expressionsDan Gohman2010-02-081-9/+11
| | | | | | | | | | in global initializers. Instead of aborting, attempt to fold them on the spot. If folding succeeds, emit the folded expression instead. This fixes PR6255. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
* Add const qualifiers.Dan Gohman2010-02-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95582 91177308-0d34-0410-b5e6-96231b3b80d8
* Apply the 95471 fix to SelectionDAGBuilder as well;Dale Johannesen2010-02-081-0/+2
| | | | | | | | | we can get in here if FastISel gives up in a block. (Actually the two copies of this need to be unified. Later.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95579 91177308-0d34-0410-b5e6-96231b3b80d8
* In guaranteed tailcall mode, don't decline the tailcall optimizationDan Gohman2010-02-081-7/+10
| | | | | | | for blocks ending in "unreachable". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95565 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the PerformTailCallOpt variable to GuaranteedTailCallOpt to reflectDan Gohman2010-02-085-23/+23
| | | | | | | its current purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95564 91177308-0d34-0410-b5e6-96231b3b80d8
* Add VCMP (VFP floating-point compare without 'E' bit set) for disassembly ↵Johnny Chen2010-02-081-0/+16
| | | | | | purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95560 91177308-0d34-0410-b5e6-96231b3b80d8
* add scaffolding for target-specific MCExprs.Chris Lattner2010-02-082-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559 91177308-0d34-0410-b5e6-96231b3b80d8
* Added VMOVRRS/VMOVSRR to ARMInstrVFP.td for disassembly purpose.Johnny Chen2010-02-081-0/+14
| | | | | | | A8.6.331 VMOV (between two ARM core registers and two single-precision registers) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95548 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix x86 JIT stub on MSVC.Torok Edwin2010-02-081-0/+1
| | | | | | | Thanks to Kristaps Straupe for noticing the bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95537 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the destructor for TypeMapBase protected. Spotted by Duncan Sands withNick Lewycky2010-02-071-2/+1
| | | | | | | cppcheck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95527 91177308-0d34-0410-b5e6-96231b3b80d8
* Give DwarfPrinter a protected (but not virtual) destructor. CppcheckDuncan Sands2010-02-071-0/+2
| | | | | | | | | | warns about this base class not having a virtual destructor, but since this class has no virtual methods and neither it or the types derived from it has a destructor, a protected trivial destructor will do (and shuts cppcheck up) the trick without the cost of introducing a vtable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
* Add suport for VASTART on Mips.Bruno Cardoso Lopes2010-02-062-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95506 91177308-0d34-0410-b5e6-96231b3b80d8
* First step towards varargs support in Mips:Bruno Cardoso Lopes2010-02-061-38/+117
| | | | | | | | | - o32 cc must pass all arguments in A0...A3 and stack regardless if its type (but respect the alignment). - Store all variable arguments back to the caller stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95500 91177308-0d34-0410-b5e6-96231b3b80d8
* Run codegen dce pass for all targets at all optimization levels. Previously it'sEvan Cheng2010-02-064-4/+14
| | | | | | | | | | | only run for x86 with fastisel. I've found it being very effective in eliminating some obvious dead code as result of formal parameter lowering especially when tail call optimization eliminated the need for some of the loads from fixed frame objects. It also shrinks a number of the tests. A couple of tests no longer make sense and are now eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95493 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an uninitialized value. Radar 7609421.Bob Wilson2010-02-061-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95488 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix alignment on ppc linux. This fixes the build of crtend.oRafael Espindola2010-02-061-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95477 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not emit callseq instructions around sibcalls. This eliminated some ↵Evan Cheng2010-02-062-23/+27
| | | | | | unnecessary stack adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95475 91177308-0d34-0410-b5e6-96231b3b80d8
* After Victor's latest commits I am seeing nullDale Johannesen2010-02-061-0/+2
| | | | | | | | | addresses in dbg.declare; ignore this for the moment to prevent things from breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95471 91177308-0d34-0410-b5e6-96231b3b80d8
* Linker should not remap null operands of metadataVictor Hernandez2010-02-061-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95468 91177308-0d34-0410-b5e6-96231b3b80d8
* Function-local metadata whose operands had been optimized to no longer refer ↵Victor Hernandez2010-02-061-2/+2
| | | | | | to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95467 91177308-0d34-0410-b5e6-96231b3b80d8
* Reintroduce the InlineHint function attribute.Jakob Stoklund Olesen2010-02-066-7/+30
| | | | | | | | | | | | This time it's for real! I am going to hook this up in the frontends as well. The inliner has some experimental heuristics for dealing with the inline hint. When given a -respect-inlinehint option, functions marked with the inline keyword are given a threshold just above the default for -O3. We need some experiments to determine if that is the right thing to do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
* Set DW_AT_artificial only if argument is marked as artificial.Devang Patel2010-02-062-5/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle AddrMode6 (for NEON load/stores) in Thumb2's rewriteT2FrameIndex.Bob Wilson2010-02-061-11/+10
| | | | | | | Radar 7614112. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95456 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't unroll loops containing function calls.Jakob Stoklund Olesen2010-02-051-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95454 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CodeMetrics to count 'big' function calls explicitly.Jakob Stoklund Olesen2010-02-051-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95453 91177308-0d34-0410-b5e6-96231b3b80d8