aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasiseDan Gohman2010-04-111-4/+4
| | | | | | | | that it's only testing for the entry condition, not full loop-invariant conditions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100979 91177308-0d34-0410-b5e6-96231b3b80d8
* utostr isn't going away too soon, try to make it slightly smaller.Benjamin Kramer2010-04-111-13/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100977 91177308-0d34-0410-b5e6-96231b3b80d8
* add attributes and module level asm to the ocaml bindings,Chris Lattner2010-04-101-0/+2
| | | | | | | patch by Patrick Walton! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding IPSCCP and Internalize passes to the C-bindingsWesley Peck2010-04-091-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100893 91177308-0d34-0410-b5e6-96231b3b80d8
* Move 'Optional' class from Clang to LLVM/ADT.Ted Kremenek2010-04-091-0/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100889 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix up header comments to match the comment fixups I made in r100849.Bob Wilson2010-04-091-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100869 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use reserved identifiers.Dan Gohman2010-04-091-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100838 91177308-0d34-0410-b5e6-96231b3b80d8
* Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.Dan Gohman2010-04-081-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100824 91177308-0d34-0410-b5e6-96231b3b80d8
* delete a forwarding function.Chris Lattner2010-04-082-6/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100815 91177308-0d34-0410-b5e6-96231b3b80d8
* move elf section uniquing to MCContext. Along the wayChris Lattner2010-04-085-54/+26
| | | | | | | merge XCore's section into MCSectionELF git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the TargetLoweringObjectFileMachO::getMachoSectionChris Lattner2010-04-082-14/+8
| | | | | | | api and update clients to use MCContext instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100808 91177308-0d34-0410-b5e6-96231b3b80d8
* move macho section uniquing from MCParser and TLOF to MCContext whereChris Lattner2010-04-084-16/+20
| | | | | | | | | the compiler and asmparser now unique to the same sections. This fixes rdar://7835021. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100807 91177308-0d34-0410-b5e6-96231b3b80d8
* Coalescer should not delete copy instructions whose defs are partially dead. ↵Evan Cheng2010-04-081-0/+4
| | | | | | | | | e.g. %RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100804 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a -lint pass which checks for common sources of undefined or likelyDan Gohman2010-04-082-0/+54
| | | | | | | unintended behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100798 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a comment.Dan Gohman2010-04-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100783 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They willBenjamin Kramer2010-04-082-0/+9
| | | | | | | never be called but msvc complains that they're missing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100766 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid using f64 to lower memcpy from constant string. It's cheaper to use ↵Evan Cheng2010-04-081-3/+5
| | | | | | i32 store of immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100751 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for ARM disassembly to edis.Sean Callanan2010-04-081-2/+3
| | | | | | | | | | | | I also added a rule to the ARM target's Makefile to build the ARM-specific instruction information table for the enhanced disassembler. I will add the test harness for all this stuff in a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Evan Cheng2010-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100726 91177308-0d34-0410-b5e6-96231b3b80d8
* introduce a new recoverable error handling API to LLVMContextChris Lattner2010-04-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
* rename llvm_install_error_handler -> install_fatal_error_handlerChris Lattner2010-04-071-9/+9
| | | | | | | and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100717 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for stpncpy_chk.Eric Christopher2010-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100710 91177308-0d34-0410-b5e6-96231b3b80d8
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-072-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some unneeded errorhandling stuff.Chris Lattner2010-04-071-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100703 91177308-0d34-0410-b5e6-96231b3b80d8
* minor tidying upChris Lattner2010-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100702 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize IVUsers to track arbitrary expressions rather than expressionsDan Gohman2010-04-073-54/+119
| | | | | | | | | | | | | | | | explicitly split into stride-and-offset pairs. Also, add the ability to track multiple post-increment loops on the same expression. This refines the concept of "normalizing" SCEV expressions used for to post-increment uses, and introduces a dedicated utility routine for normalizing and denormalizing expressions. This fixes the expansion of expressions which are post-increment users of more than one loop at a time. More broadly, this takes LSR another step closer to being able to reason about more than one loop at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove late ARM codegen optimization pass committed by accident.Anton Korobeynikov2010-04-071-9/+4
| | | | | | It is not ready for public yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100673 91177308-0d34-0410-b5e6-96231b3b80d8
* Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack ↵Anton Korobeynikov2010-04-071-8/+5
| | | | | | anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100667 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of new reserved/required scheduling stuff: introduce VFP and NEON ↵Anton Korobeynikov2010-04-071-5/+10
| | | | | | locks to model domain cross stalls precisly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100646 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial support for different kinds of FU reservation.Anton Korobeynikov2010-04-072-2/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100645 91177308-0d34-0410-b5e6-96231b3b80d8
* Add hook to insert late LLVM=>LLVM passes just before iselAnton Korobeynikov2010-04-071-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100640 91177308-0d34-0410-b5e6-96231b3b80d8
* Three changes:Chris Lattner2010-04-073-4/+76
| | | | | | | | | | | | | | | | | 1. Introduce some enums and accessors in the InlineAsm class that eliminate a ton of magic numbers when handling inline asm SDNode. 2. Add a new MDNodeSDNode selection dag node type that holds a MDNode (shocking!) 3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc metadata, propagating it to the instruction emitter, which drops it. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100605 91177308-0d34-0410-b5e6-96231b3b80d8
* Post regalloc LICM. Work in progress.Evan Cheng2010-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100592 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.Bill Wendling2010-04-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100556 91177308-0d34-0410-b5e6-96231b3b80d8
* this accessor doesn't need to copy the string.Chris Lattner2010-04-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100542 91177308-0d34-0410-b5e6-96231b3b80d8
* enhance SMDiagnostic to also maintain a pointer to the SourceMgr.Chris Lattner2010-04-062-11/+20
| | | | | | | | Add a simplified constructor for clients that don't have locations like "file not found" errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100538 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid overflowing a signed integer which triggers undefined behaviour.Jakob Stoklund Olesen2010-04-061-4/+4
| | | | | | | Overflowing an unsigned integer is fine and behaves as you would expect. Also fix a pasto, allowing SignExtend64 to take a 64-bit argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100517 91177308-0d34-0410-b5e6-96231b3b80d8
* propagate cookie management out one layer of function calls.Chris Lattner2010-04-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
* Give MachineModuleInfo an actual Module*.Chris Lattner2010-04-062-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100508 91177308-0d34-0410-b5e6-96231b3b80d8
* give LLVMContext an inline asm diagnostic hook member.Chris Lattner2010-04-061-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100506 91177308-0d34-0410-b5e6-96231b3b80d8
* give the SourceMgr object a cookie.Chris Lattner2010-04-061-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100504 91177308-0d34-0410-b5e6-96231b3b80d8
* Give llvm::SourceMgr the ability to have a client-specifiedChris Lattner2010-04-062-7/+34
| | | | | | | diagnostic handler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100503 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove MaybeOwningPtr. We're going to use reference-counting instead.Douglas Gregor2010-04-051-93/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100499 91177308-0d34-0410-b5e6-96231b3b80d8
* Give AsmParser an option to control whether it finalizesChris Lattner2010-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | the stream. New demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax 000000000000000b movl %eax,(%rsp) 000000000000000e movl %eax,0x04(%rsp) 0000000000000012 addq $0x08,%rsp 0000000000000016 ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
* add a comment.Chris Lattner2010-04-051-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100490 91177308-0d34-0410-b5e6-96231b3b80d8
* stringref-ize the MemoryBuffer::get apis. This requiresChris Lattner2010-04-051-2/+2
| | | | | | | a co-committed clang patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce MaybeOwningPtr, a smart pointer that may (or may not) haveDouglas Gregor2010-04-051-0/+92
| | | | | | | | | ownership over the pointer it contains. Useful when we want to communicate ownership while still having several clients holding on to the same pointer *without* introducing reference counting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100463 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an isReachableFromEntry to MachineDominators, following the oneDan Gohman2010-04-051-2/+7
| | | | | | | in Dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100454 91177308-0d34-0410-b5e6-96231b3b80d8
* trim some prototypes.Chris Lattner2010-04-052-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100420 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the now-redundant MMI pointer in SelectionDAG.Chris Lattner2010-04-051-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100419 91177308-0d34-0410-b5e6-96231b3b80d8