aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add the PARSE_ARGUMENTS CMake macro to LLVM so I can use it to cleanJeffrey Yasskin2011-02-191-0/+80
| | | | | | | | up add_clang_unittest's calling convention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126031 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow getting the address of the value in a PointerUnion or PointerIntPair ↵Argyrios Kyrtzidis2011-02-192-0/+19
| | | | | | | | | if one is confident enough that he knows what he is doing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126019 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos.Eric Christopher2011-02-191-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126018 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ImmutableMap methods 'manualRetain()', 'manualRelease()', and ↵Ted Kremenek2011-02-191-1/+13
| | | | | | 'getRootWithoutRetain()' to help more aggressively reclaim memory in the static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126011 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of ↵Devang Patel2011-02-191-17/+20
| | | | | | debug info reduced by almost 7%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126009 91177308-0d34-0410-b5e6-96231b3b80d8
* DIE numbers do not add any value in this test. Devang Patel2011-02-191-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126008 91177308-0d34-0410-b5e6-96231b3b80d8
* Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal().Jakob Stoklund Olesen2011-02-193-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126005 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid dangling else warnings.Joerg Sonnenberger2011-02-191-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126004 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed member rename for naming convention.Jakob Stoklund Olesen2011-02-192-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126003 91177308-0d34-0410-b5e6-96231b3b80d8
* This method belonged in VirtRegMap.Jakob Stoklund Olesen2011-02-193-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126002 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate timers for local and global splitting.Jakob Stoklund Olesen2011-02-191-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126001 91177308-0d34-0410-b5e6-96231b3b80d8
* Make "-opt [-emit-llvm]" work for .ll files.Mikhail Glushenkov2011-02-191-2/+4
| | | | | | Patch by Kaelyn Uhrain! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126000 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide enums to build complex address calucation expressions.Devang Patel2011-02-181-0/+1
| | | | | | | (This is infact direct copy from DIFactory, which is disappearing soon.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125989 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused tag.Devang Patel2011-02-181-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125988 91177308-0d34-0410-b5e6-96231b3b80d8
* These tags are now covered by dwarf::TagString().Devang Patel2011-02-181-9/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125987 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide tag strings for llvm specific tags.Devang Patel2011-02-182-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125986 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not lose debug info of an inlined function argument even if the argument ↵Devang Patel2011-02-186-18/+101
| | | | | | | | | is only used through GEPs. This time with a fix that avoids using invalidated DenseMap iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125984 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that -loop-idiom uses TargetLibraryInfo properly, it doesn'tChris Lattner2011-02-181-5/+4
| | | | | | | | | | need to be pulled out of the pass manager when the user specifies -fno-builtin. It can intelligently determine which libcalls to optimize based on what is enabled in TargetLibraryInfo. This allows -fno-builtin-foo to work someday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125981 91177308-0d34-0410-b5e6-96231b3b80d8
* Use VirtRegMap's Virt2SplitMap to keep track of the original live range ↵Jakob Stoklund Olesen2011-02-183-2/+12
| | | | | | | | before splitting. All new virtual registers created for spilling or splitting point back to their original. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125980 91177308-0d34-0410-b5e6-96231b3b80d8
* add a way to disable all builtins, wire it up to opt's ↵Chris Lattner2011-02-183-2/+16
| | | | | | -disable-simplifylibcalls flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125978 91177308-0d34-0410-b5e6-96231b3b80d8
* Make loop-idiom use TargetLibraryInfo to determine whether it is allowedChris Lattner2011-02-181-1/+18
| | | | | | | to hack on memset, memcpy etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125974 91177308-0d34-0410-b5e6-96231b3b80d8
* add memset and memcpy, though they are always available for now.Chris Lattner2011-02-181-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125973 91177308-0d34-0410-b5e6-96231b3b80d8
* rearrange some comments, no functionality change.Chris Lattner2011-02-181-43/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125972 91177308-0d34-0410-b5e6-96231b3b80d8
* Have opt set up a specific TargetLibraryInfo for modulesChris Lattner2011-02-181-2/+8
| | | | | | | with a triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125970 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: updated list of tblgen source files.Oscar Fuentes2011-02-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125969 91177308-0d34-0410-b5e6-96231b3b80d8
* Move library stuff out of the toplevel CMakeLists.txt file.Oscar Fuentes2011-02-1813-82/+95
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125968 91177308-0d34-0410-b5e6-96231b3b80d8
* Add VirtRegMap::rewrite() and use it in the new register allocators.Jakob Stoklund Olesen2011-02-184-6/+81
| | | | | | | | | | The rewriter works almost identically to -rewriter=trivial, except it also eliminates any identity copies. This makes the new register allocators independent of VirtRegRewriter.cpp which will be going away at the same time as RegAllocLinearScan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125967 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for ↵Owen Anderson2011-02-185-98/+1534
| | | | | | | | | | | | | | fixed-length instruction encodings. A major part of its (eventual) goal is to support a much cleaner separation between disassembly callbacks provided by the target and the disassembler emitter itself, i.e. not requiring hardcoding of knowledge in tblgen like the existing disassembly emitters do. The hope is that some day this will allow us to replace the existing non-Thumb ARM disassembler and remove some of the hacks the old one introduced to tblgen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125966 91177308-0d34-0410-b5e6-96231b3b80d8
* introduce a new TargetLibraryInfo pass, which transformations can use toChris Lattner2011-02-185-0/+108
| | | | | | | | | query about available library functions. For now this just has memset_pattern16, which exists on darwin, but it can be extended for a bunch of other things in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125965 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r125956, which broke the build if you _don't_ have lldb checked out.Owen Anderson2011-02-181-6/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125964 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r114997 now that the buildbots have been updated.Bill Wendling2011-02-182-8/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125960 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch lets LLDB build as an LLVM subproject. LLDB is not built inStephen Wilson2011-02-181-1/+6
| | | | | | | | parallel with the rest of the tools directory as it depends on Clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125956 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix style and a typoBruno Cardoso Lopes2011-02-181-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125949 91177308-0d34-0410-b5e6-96231b3b80d8
* Add assembly parsing support for "msr" and also fix its encoding. Also addBruno Cardoso Lopes2011-02-1811-47/+236
| | | | | | | | testcases for the disassembler to make sure it still works for "msr". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125948 91177308-0d34-0410-b5e6-96231b3b80d8
* improve support for OpenBSD, patch by Amit Kulkarni!Chris Lattner2011-02-181-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125943 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose getTypeName to the C API. Patch by Patrick Walton.Rafael Espindola2011-02-182-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125845 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands2011-02-183-20/+143
| | | | | | | overflow. These subsume some existing equality transforms, so zap those. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125843 91177308-0d34-0410-b5e6-96231b3b80d8
* The objectsize intrinsic doesn't access any memory.Benjamin Kramer2011-02-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125842 91177308-0d34-0410-b5e6-96231b3b80d8
* add a poor division by constant case.Chris Lattner2011-02-181-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125832 91177308-0d34-0410-b5e6-96231b3b80d8
* add a testcase for r125827Chris Lattner2011-02-181-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125831 91177308-0d34-0410-b5e6-96231b3b80d8
* Roll out r125794 to help diagnose the llvm-gcc-i386-linux-selfhost failure.Cameron Zwarich2011-02-186-96/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125830 91177308-0d34-0410-b5e6-96231b3b80d8
* prevent jump threading from merging blocks when their address isChris Lattner2011-02-182-2/+45
| | | | | | | | | | | | | | | | | | | taken (and used!). This prevents merging the blocks (invalidating the block addresses) in a case like this: #define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; }) void foo() { printf("%p\n", _THIS_IP_); printf("%p\n", _THIS_IP_); printf("%p\n", _THIS_IP_); } which fixes PR4151. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125829 91177308-0d34-0410-b5e6-96231b3b80d8
* hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant.Chris Lattner2011-02-184-58/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125828 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't unroll loops whose header block's address is taken.Chris Lattner2011-02-181-2/+10
| | | | | | | | | | | | | | | | | | | This is part of a futile attempt to not "break" bizzaro code like this: l1: printf("l1: %p\n", &&l1); ++x; if( x < 3 ) goto l1; Previously we'd fold &&l1 to 1, which is fine per our semantics but not helpful to the user. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125827 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -disable-simplify-libcalls work with -std-compile-optsPeter Collingbourne2011-02-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125824 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize monitor/mwait with explicit register argumentsJoerg Sonnenberger2011-02-183-0/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125805 91177308-0d34-0410-b5e6-96231b3b80d8
* Check the errorcode.Argyrios Kyrtzidis2011-02-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125804 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim debugging output.Jakob Stoklund Olesen2011-02-182-29/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125802 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize leavel and leaveq aliases for leave.Joerg Sonnenberger2011-02-173-0/+17
| | | | | | | Validate encoding of leave in 64bit mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125795 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not lose debug info of an inlined function argument even if the argument ↵Devang Patel2011-02-176-17/+96
| | | | | | is only used through GEPs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125794 91177308-0d34-0410-b5e6-96231b3b80d8