aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix function attribute verification check.Devang Patel2008-10-032-7/+7
| | | | | | | Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57029 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass MemOperand through for 64-bit atomics on 32-bit,Dale Johannesen2008-10-034-9/+27
| | | | | | | | | incidentally making the case where the memop is a pointer deref work. Fix cmp-and-swap regression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57027 91177308-0d34-0410-b5e6-96231b3b80d8
* Add IS_CLEANING_TARGET Makefile variable.Daniel Dunbar2008-10-031-2/+7
| | | | | | | | - Fixes bug in dependency inclusions where make with unspecified target wouldn't include dependency files, eek! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57026 91177308-0d34-0410-b5e6-96231b3b80d8
* Nick Lewycky's patch.Devang Patel2008-10-032-1/+37
| | | | | | | | While hosting instruction check PHI node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57025 91177308-0d34-0410-b5e6-96231b3b80d8
* update svn:ignoreNuno Lopes2008-10-030-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57024 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Evan Cheng2008-10-031-0/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57023 91177308-0d34-0410-b5e6-96231b3b80d8
* Use -1ULL instead of uint64_t(-1), at Anton's suggestion.Dan Gohman2008-10-031-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57021 91177308-0d34-0410-b5e6-96231b3b80d8
* Verify function attributes.Devang Patel2008-10-032-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57020 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos pointed out by Duncan. Also untabify these files.Evan Cheng2008-10-033-15/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57018 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build.Daniel Dunbar2008-10-031-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57017 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid creating two TargetLowering objects for each target.Dan Gohman2008-10-0311-33/+22
| | | | | | | | | | | | | Instead, just create one, and make sure everything that needs it can access it. Previously most of the SelectionDAGISel subclasses all had their own TargetLowering object, which was redundant with the TargetLowering object in the TargetMachine subclasses, except on Sparc, where SparcTargetMachine didn't have a TargetLowering object. Change Sparc to work more like the other targets here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57016 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unused field.Dan Gohman2008-10-031-6/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57014 91177308-0d34-0410-b5e6-96231b3b80d8
* On Darwin ARM, memory needs special handling to do JIT. This patch expandsJim Grosbach2008-10-036-15/+66
| | | | | | | | this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57013 91177308-0d34-0410-b5e6-96231b3b80d8
* Indexing off by one resulted in errant encoding of source register forJim Grosbach2008-10-031-1/+1
| | | | | | | reg->reg moves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57011 91177308-0d34-0410-b5e6-96231b3b80d8
* NeedStub/DoesntNeedStub logic was reversed, leading to not using a stubJim Grosbach2008-10-031-4/+4
| | | | | | | for global relocations that do need them (libc calls, for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57010 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerateNuno Lopes2008-10-033-338/+346
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57009 91177308-0d34-0410-b5e6-96231b3b80d8
* fix more memleaks in ResolveTypeTo() and ParseGlobalVariable()Nuno Lopes2008-10-031-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57008 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerate with bison 2.3Nuno Lopes2008-10-033-316/+318
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57007 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-0371-530/+538
| | | | | | | isReg, etc., from isRegister, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006 91177308-0d34-0410-b5e6-96231b3b80d8
* fix memleak in FunctionHeaderHNuno Lopes2008-10-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57005 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename llvmc2/src to llvmc2/core.Mikhail Glushenkov2008-10-037-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57000 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build breakage when objdir!=srcdir (proper fix).Mikhail Glushenkov2008-10-035-10/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56999 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build breakage (again) when srcdir != objdir, other small fixes.Mikhail Glushenkov2008-10-0311-34/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56998 91177308-0d34-0410-b5e6-96231b3b80d8
* The result of getSetCCResultType (eg: i32) may be largerDuncan Sands2008-10-031-4/+8
| | | | | | | | | | than the type an i1 is promoted to (eg: i8). Account for this. Noticed by Tilmann Scheller on CellSPU; he will hopefully take care of fixing this in LegalizeDAG and adding a testcase! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56997 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach internalize to preserve the callgraph.Duncan Sands2008-10-033-2/+26
| | | | | | | Why? Because it was there! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56996 91177308-0d34-0410-b5e6-96231b3b80d8
* Acquire the lock only when necessary. More precisely, do not acquireNicolas Geoffray2008-10-031-10/+22
| | | | | | | | the lock when calling a method which may materialize the llvm::Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56995 91177308-0d34-0410-b5e6-96231b3b80d8
* SplitBlock should only attempt to update LoopInfo if it is actually being used.Owen Anderson2008-10-031-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56994 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement fast-isel support for zero-extending from i1.Dan Gohman2008-10-031-1/+12
| | | | | | | | It turns out that this is a fairly common operation, and it's easy enough to handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56990 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix X86FastISel to handle dynamic allocas that have avoidedDan Gohman2008-10-031-0/+10
| | | | | | | | getting inserted into the ValueMap. This avoids infinite recursion in some rare cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56989 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build.Bill Wendling2008-10-031-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56988 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo.Dan Gohman2008-10-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56986 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for Canadian Cross builds where the host executables are notJim Grosbach2008-10-025-49/+237
| | | | | | | | | | | | | | runnable on the build machine. There are a few bits that need built for the build environment (TableGen). This patch builds those bits, and the associated libraries, for the build environment as well as the (usual) host environment. Thanks to Eric C. and Devang P. for pre-commit review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56975 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build breakage.Mikhail Glushenkov2008-10-024-3/+44
| | | | | | Forgot to include Makefile.plugins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56970 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimize conditional branches in X86FastISel. This replacesDan Gohman2008-10-023-26/+165
| | | | | | | | | | | | sequences like this: sete %al testb %al, %al jne LBB11_1 with this: je LBB11_1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56969 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new MachineBasicBlock utility function, isLayoutSuccessor, thatDan Gohman2008-10-022-0/+12
| | | | | | | | can be used when deciding if a block can transfer control to another via a fall-through instead of a branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56968 91177308-0d34-0410-b5e6-96231b3b80d8
* Build system tweaks to make it more convenient for the plugin authors.Mikhail Glushenkov2008-10-0211-40/+62
| | | | | | | | | | Plugins can be now compiled in with a slight Makefile change. For example, to compile the new Clang driver, use: cd $LLVMC2_DIR make TOOLNAME=ccc2 BUILTIN_PLUGINS=Clang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56967 91177308-0d34-0410-b5e6-96231b3b80d8
* fix build gcc 4.3Andrew Lenharth2008-10-021-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56965 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a multimap rather than a map for holding the list of copies to insert, ↵Owen Anderson2008-10-021-12/+19
| | | | | | | | | | | so we don't lose copies when two of them have the same source. I don't know what I was thinking when I wrote this originally. Note: There's probably a more efficient way to do this, but I need to think about it some more, and about what determinism guarantees need to be present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56964 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle some 64-bit atomics on x86-32, some of the time.Dale Johannesen2008-10-027-20/+1316
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56963 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid name shadowing with E variable defined in for(). This was giving VC++Bill Wendling2008-10-021-3/+3
| | | | | | | grief. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56961 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundant check.Devang Patel2008-10-021-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56960 91177308-0d34-0410-b5e6-96231b3b80d8
* A Partitioned Boolean Quadratic Programming (PBQP) based register allocator.Evan Cheng2008-10-025-0/+2214
| | | | | | | Contributed by Lang Hames. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56959 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Added Host.cpp to lib/System/CMakeLists.txt.Oscar Fuentes2008-10-021-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56957 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename IRBuilder::IsNonNull -> IsNotNull in response to feedback.Daniel Dunbar2008-10-021-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56953 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a think-o in isSafeToMove. This fixes it from thinking thatDan Gohman2008-10-022-1/+18
| | | | | | | volatile memory references are safe to move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56948 91177308-0d34-0410-b5e6-96231b3b80d8
* Work around an interaction between fast-isel and regalloc=local. TheDan Gohman2008-10-021-1/+5
| | | | | | | | | | | | | | | | | | local register allocator's physreg liveness doesn't recognize subregs, so it doesn't know that defs of %ecx that are immediately followed by uses of %cl aren't dead. This comes up due to the way fast-isel emits shift instructions. This is a temporary workaround. Arguably, local regalloc should handle subreg references correctly. On the other hand, perhaps fast-isel should use INSERT_SUBREG instead of just assigning to the most convenient super-register of %cl when lowering shifts. This fixes MultiSource/Benchmarks/MallocBench/espresso, MultiSource/Applications/hexxagon, and others, under -fast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56947 91177308-0d34-0410-b5e6-96231b3b80d8
* "The original bug was a complaint that _mm_srli_si128 mis-compiled when passedBill Wendling2008-10-022-0/+10
| | | | | | | | | | | a constant vector ("{0x123, 0x456}" syntax). The fix is to simplify the _mm_srli_si128 macro, and move the "* 8" from the macro into the compiler back-end. I can't change the existing __builtins because so many people are using them :-(." Patch by Stuart Hastings! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56944 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm::sys::{osName,osVersion} for retrieving operating system nameDaniel Dunbar2008-10-024-0/+110
| | | | | | | | & version as strings. - Win32 code is untested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56942 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable fast-isel for this test, as it doesn't emit the sameDan Gohman2008-10-011-1/+1
| | | | | | | number of instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56940 91177308-0d34-0410-b5e6-96231b3b80d8
* Attributes noinline alwaysinline are incompatibleDevang Patel2008-10-013-4/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56939 91177308-0d34-0410-b5e6-96231b3b80d8