aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-04-12Add tests for the parts of X86-64 TLS that are already implemented.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12fix a cross-block fastisel crash handling overflow intrinsics.Chris Lattner
See comment for details. This fixes rdar://6772169 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12make UpdateValueMap handle the possiblity that we could beChris Lattner
copying into the right register, avoiding a copy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68889 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12optimize FastISel::UpdateValueMap to avoid duplicate map lookups,Chris Lattner
and make it return the assigned register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12simplify code by using IntrinsicInst.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68887 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12Add new TargetInstrDesc::hasImplicitUseOfPhysReg andChris Lattner
hasImplicitDefOfPhysReg methods. Use them to remove a look in X86 fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12add some optimizations for strncpy/strncat and factor someChris Lattner
code. Patch by Benjamin Kramer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Revert r68847. It breaks the build on non-Darwin targets, with this messageDan Gohman
from the assembler: Error: unknown pseudo-op: `.debug_inlined' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68863 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Keep track of inlined functions and their locations. This information is ↵Devang Patel
collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.) Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10move a target-specific test into its directory so it isn't run if youChris Lattner
don't configure the ARM target in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Fixed spelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10DebugLabelFolder ruthlessly deletes redundant labels. However, sometimes the ↵Devang Patel
redundant labels is referenced by debug info somewhere else. This patch provies a way so that dwarf writer can mark labels as used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Clean up a bunch of whitespace issues and fix a comment typo.Bob Wilson
No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68808 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Don't install the libLLVMHello.dylib example.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Add compatibility_version and current_version flags when creating dylibs.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Don't run "dsymutils" on .a files.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10fix two problems with machine sinking:Chris Lattner
1. Sinking would crash when the first instruction of a block was sunk due to iterator problems. 2. Instructions could be sunk to their current block, causing an infinite loop. This fixes PR3968 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Now that register classes have names, include the name in debug output.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10fix a broken assertion in ilist_iterator, which caused it to crash in theChris Lattner
bad case instead of actually assert. Bug pointed out by Jakob Stoklund Olesen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10fix typo, patch by Shlomi Fish!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Added code to handle spilling and reloading of FSRs.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68783 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Don't fold a load if the other operand is a TLS address.Rafael Espindola
With this we generate movl %gs:0, %eax leal i@NTPOFF(%eax), %eax instead of movl $i@NTPOFF, %eax addl %gs:0, %eax git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68778 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Cleanup. Remove redundant llvm:: , we don't need them since we're insideNick Lewycky
namespace llvm already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Add a new Type::getPointerTo method, which is shorthand forChris Lattner
llvm::PointerType::get(). Patch by Anders Johnsen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Add utility function to IRBuilder that takes the difference between twoNick Lewycky
pointers, taking into account the size of the pointed-to object. Patch by Jeffrey Yasskin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Regenerate.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68767 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10a few fixes to "addrspace(256) is reference offset of GS segment register".Chris Lattner
It turns out that there are still several problems with this, will file a bugzilla. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68749 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Pass in the std::string parameter instead of returning it by value.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Constify getter methods.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68745 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Remove the obsolete SelectionDAG::getNodeValueTypes and simplifyDan Gohman
code that uses it by using SelectionDAG::getVTList instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68744 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Change the NumVTs field from short to int, since there's noDan Gohman
real need for it to be short. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09StringMap<DIE*>::iterator::first() returns a pointer to the first character ofBill Wendling
the key. This will cause it to create a new std::string, which isn't wanted. Instead, pass back the "const char*". Modify the EmitString() method to take a "const char*". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Silence unused variable warning.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68735 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09ignore register zero in isRegTiedToUseOperand, following the example ofChris Lattner
isRegTiedToDefOperand. Thanks to Bob for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Give register alias checking the hash table treatment too.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68730 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Use a StringMap instead of std::map for storing std::string->DIE* maps. ThisBill Wendling
gives a micro speedup in the Dwarf writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09llvm.dbg.func_start also defines beginning of function scope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Revert r68708. It was causing this failure in the self-hosting buildbot:Bill Wendling
llvm[2]: Compiling lto.cpp for Debug build (PIC) make[2]: *** No rule to make target `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Debug/lib/libLLVMBitWriter.a', needed by `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/lib/libLTO.dylib'. Stop. make[1]: *** [all] Error 1 make: *** [all] Error 1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Fix pr3954. The register scavenger asserts for inline assembly withBob Wilson
register destinations that are tied to source operands. The TargetInstrDescr::findTiedToSrcOperand method silently fails for inline assembly. The existing MachineInstr::isRegReDefinedByTwoAddr was very close to doing what is needed, so this revision makes a few changes to that method and also renames it to isRegTiedToUseOperand (for consistency with the very similar isRegTiedToDefOperand and because it handles both two-address instructions and inline assembly with tied registers). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68714 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09The way we are trying to figure out banksel immediate operand may yield ↵Sanjiv Gupta
different results for different type of insns. This will eventually need to be changed but currently let us prevent the crash in cases of incorrect detection of banksel operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09reg0 references are not real registers. This fixes a crash on the Chris Lattner
attached testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Make sure to rebuild dependencies for the `check' and `unittests' targets soMisha Brukman
we're not testing out-of-date code. This also makes "make check" and "make unittests" work out-of-the box right after the configure step, without requiring the user to run "make tools-only" or "make libs-only". Tested on Linux/x86_64 and Darwin/x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68708 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Arguments to indirect calls were being passed incorrectly. They are not ↵Sanjiv Gupta
fixed to start after return value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Fix code size computation on x86-64, patch by Zoltan Varga!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09add an accessor method, patch by John McCall!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09r68576 unconverd a bug in PIC16 port (Thanks to Dan Gohman) where we were ↵Sanjiv Gupta
custom lowering an ADD to ADDC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Generalize ExtendUsesToFormExtLoad to be usable for ANY_EXTEND,Dan Gohman
in addition to ZERO_EXTEND and SIGN_EXTEND. Fix a bug in the way it checked for live-out values, and simplify the way it find users by using SDNode::use_iterator's (relatively) new features. Also, make it slightly more permissive on targets with free truncates. In SelectionDAGBuild, avoid creating ANY_EXTEND nodes that are larger than necessary. If the target's SwitchAmountTy has enough bits, use it. This exposes the truncate to optimization early, enabling more optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Convert TargetRegisterInfo's super-register checking to use a pre-computed ↵Owen Anderson
hash table just like subregister checking does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68669 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Fix pointer casting problem.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Don't copy the operand of a SwitchInst into virtual registers asDan Gohman
eagerly. This helps avoid CopyToReg nodes in some cases where they aren't needed, and also helps subsequent optimizer heuristics in cases where the extra nodes would cause the node to appear to have multiple results. This doesn't have a significant impact currently; it'll help an upcoming change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68667 91177308-0d34-0410-b5e6-96231b3b80d8