summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use -1ULL instead of uint64_t(-1), at Anton's suggestion.Dan Gohman2008-10-031-2/+2
| | | | llvm-svn: 57021
* Verify function attributes.Devang Patel2008-10-031-1/+5
| | | | llvm-svn: 57020
* Fix typos pointed out by Duncan. Also untabify these files.Evan Cheng2008-10-033-15/+15
| | | | llvm-svn: 57018
* Unbreak build.Daniel Dunbar2008-10-031-18/+18
| | | | llvm-svn: 57017
* 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. llvm-svn: 57016
* Remove an unused field.Dan Gohman2008-10-031-6/+1
| | | | llvm-svn: 57014
* On Darwin ARM, memory needs special handling to do JIT. This patch expandsJim Grosbach2008-10-034-13/+51
| | | | | | | this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. llvm-svn: 57013
* Indexing off by one resulted in errant encoding of source register forJim Grosbach2008-10-031-1/+1
| | | | | | reg->reg moves. llvm-svn: 57011
* 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). llvm-svn: 57010
* regenerateNuno Lopes2008-10-033-338/+346
| | | | llvm-svn: 57009
* fix more memleaks in ResolveTypeTo() and ParseGlobalVariable()Nuno Lopes2008-10-031-0/+4
| | | | llvm-svn: 57008
* regenerate with bison 2.3Nuno Lopes2008-10-033-316/+318
| | | | llvm-svn: 57007
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-0367-484/+482
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* fix memleak in FunctionHeaderHNuno Lopes2008-10-031-0/+1
| | | | llvm-svn: 57005
* 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! llvm-svn: 56997
* Teach internalize to preserve the callgraph.Duncan Sands2008-10-032-0/+20
| | | | | | Why? Because it was there! llvm-svn: 56996
* 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. llvm-svn: 56995
* SplitBlock should only attempt to update LoopInfo if it is actually being used.Owen Anderson2008-10-031-4/+3
| | | | llvm-svn: 56994
* 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. llvm-svn: 56990
* 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. llvm-svn: 56989
* Optimize conditional branches in X86FastISel. This replacesDan Gohman2008-10-022-26/+160
| | | | | | | | | | | sequences like this: sete %al testb %al, %al jne LBB11_1 with this: je LBB11_1 llvm-svn: 56969
* Add a new MachineBasicBlock utility function, isLayoutSuccessor, thatDan Gohman2008-10-021-0/+5
| | | | | | | can be used when deciding if a block can transfer control to another via a fall-through instead of a branch. llvm-svn: 56968
* fix build gcc 4.3Andrew Lenharth2008-10-021-0/+1
| | | | llvm-svn: 56965
* 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. llvm-svn: 56964
* Handle some 64-bit atomics on x86-32, some of the time.Dale Johannesen2008-10-025-19/+345
| | | | llvm-svn: 56963
* Remove redundant check.Devang Patel2008-10-021-9/+0
| | | | llvm-svn: 56960
* A Partitioned Boolean Quadratic Programming (PBQP) based register allocator.Evan Cheng2008-10-023-0/+2208
| | | | | | Contributed by Lang Hames. llvm-svn: 56959
* CMake: Added Host.cpp to lib/System/CMakeLists.txt.Oscar Fuentes2008-10-021-0/+1
| | | | llvm-svn: 56957
* Fix a think-o in isSafeToMove. This fixes it from thinking thatDan Gohman2008-10-021-1/+1
| | | | | | volatile memory references are safe to move. llvm-svn: 56948
* 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. llvm-svn: 56947
* "The original bug was a complaint that _mm_srli_si128 mis-compiled when passedBill Wendling2008-10-021-0/+4
| | | | | | | | | | 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! llvm-svn: 56944
* Add llvm::sys::{osName,osVersion} for retrieving operating system nameDaniel Dunbar2008-10-023-0/+101
| | | | | | | & version as strings. - Win32 code is untested. llvm-svn: 56942
* Attributes noinline alwaysinline are incompatibleDevang Patel2008-10-011-0/+17
| | | | llvm-svn: 56939
* Remove OptimizeForSize global. Use function attribute optsize.Devang Patel2008-10-017-11/+9
| | | | llvm-svn: 56937
* Enable FastISel by default (on x86 and x86-64) with the -fast option.Dan Gohman2008-10-011-4/+16
| | | | llvm-svn: 56930
* add a new form of Type::dump that takes a module for type names,Chris Lattner2008-10-011-0/+8
| | | | | | patch provided by Tomas Lindquist Olsen! llvm-svn: 56929
* Make some implicit conversions explicit, to avoid compiler warnings.Dan Gohman2008-10-012-4/+4
| | | | llvm-svn: 56927
* Split x86's ADJCALLSTACK instructions into 32-bit and 64-bit forms.Dan Gohman2008-10-014-14/+45
| | | | | | | | | | | This allows the 64-bit forms to use+def RSP instead of ESP. This doesn't fix any real bugs today, but it is more precise and it makes the debug dumps on x86-64 look more consistent. Also, add some comments describing the CALL instructions' physreg operand uses and defs. llvm-svn: 56925
* Fix typo s/ther/there/Jim Grosbach2008-10-011-1/+1
| | | | llvm-svn: 56924
* Factorize code: remove variants of "strip offDuncan Sands2008-10-016-135/+47
| | | | | | | | | | | pointer bitcasts and GEP's", and centralize the logic in Value::getUnderlyingObject. The difference with stripPointerCasts is that stripPointerCasts only strips GEPs if all indices are zero, while getUnderlyingObject strips GEPs no matter what the indices are. llvm-svn: 56922
* Fold trivial two-operand tokenfactors where the operands are equalDan Gohman2008-10-011-0/+1
| | | | | | immediately. llvm-svn: 56921
* Don't prepend a space character for constants in Value::print.Dan Gohman2008-10-011-1/+1
| | | | llvm-svn: 56920
* Fix typos in comments.Dan Gohman2008-10-011-2/+2
| | | | llvm-svn: 56919
* revert the addition of Preverves(CallGraph), per Duncan's commentsNuno Lopes2008-10-011-2/+0
| | | | llvm-svn: 56917
* Mark CALL instructions as having a Use of ESP/RSP.Dan Gohman2008-10-012-3/+5
| | | | llvm-svn: 56911
* Call ScalarEvolution's deleteValueFromRecords before deleting anDan Gohman2008-10-011-3/+3
| | | | | | instruction, not after. This fixes some uses of free'd memory. llvm-svn: 56908
* Implement the -fno-builtin option in the front-end, not in the back-end.Bill Wendling2008-10-013-28/+19
| | | | llvm-svn: 56900
* Mark merged-in VNInfo's as being PHIKilled.Owen Anderson2008-09-301-0/+5
| | | | llvm-svn: 56893
* Fix a simple error in renumbering kill markaers, that took an inordinant ↵Owen Anderson2008-09-301-1/+1
| | | | | | amount of time to track down. llvm-svn: 56889
* Just don't transform this memset into "bzero" if no-builtin is specified.Bill Wendling2008-09-303-19/+21
| | | | llvm-svn: 56888
OpenPOWER on IntegriCloud