summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Move the special cases for constants out of getUnknown and intoDan Gohman2009-06-242-16/+15
| | | | | | | | | createSCEV. Also, recognize UndefValue in createSCEV. Change getIntegerSCEV's comment to avoid mentioning FP types, and re-implement it in terms of getConstant instead of getUnknown. llvm-svn: 74041
* Use ScalarEvolution::getConstant instead of getUnknown to createDan Gohman2009-06-241-7/+8
| | | | | | | SCEVConstants. This cleanup is a step toward letting getUnknown be simpler. llvm-svn: 74037
* Include the maximum trip count expression in ScalarEvolution's print output.Dan Gohman2009-06-241-0/+9
| | | | llvm-svn: 74035
* Add an isAllOnesValue utility function, similar to isZero and isOne.Dan Gohman2009-06-241-0/+6
| | | | llvm-svn: 74032
* Don't emit a redundant BitCastInst if the value to be defined in theDan Gohman2009-06-241-1/+2
| | | | | | preheader is already an instruction. llvm-svn: 74031
* Guard the listeners list. Unfortunately, this requires a real static ratherOwen Anderson2009-06-241-0/+5
| | | | | | | than a managed static because other managed statics can (and do) access this list in their destructors. Yes, I know it's horrible. llvm-svn: 74029
* Provide InitializeAllTargets and InitializeNativeTarget functions in theBob Wilson2009-06-2322-96/+44
| | | | | | | | C bindings. Change all the backend "Initialize" functions to have C linkage. Change the "llvm/Config/Targets.def" header to use C-style comments to avoid compile warnings. llvm-svn: 74026
* Update for MCImm -> MCValue rename.Daniel Dunbar2009-06-231-5/+5
| | | | llvm-svn: 74024
* Test commit: fixed spacing.Sean Callanan2009-06-231-3/+3
| | | | llvm-svn: 74022
* It is not a good idea to have data member's name match argument's name. In ↵Devang Patel2009-06-231-21/+21
| | | | | | fact, it is a simple receipe to waste an hour or so. llvm-svn: 74018
* Use getReturnTypeName() to print return type.Devang Patel2009-06-231-1/+1
| | | | llvm-svn: 74017
* Start flushing out MCContext.Daniel Dunbar2009-06-234-1/+96
| | | | | | - Lives inside new library lib/MC (LLVMMC.a) llvm-svn: 74013
* Use atomic operations when accessing statistics, and make the lazy ↵Owen Anderson2009-06-231-4/+8
| | | | | | initialization of statistics actually threadsafe. llvm-svn: 74005
* Add atomic multiply and divide operations, built on top of CompareAndSwap.Owen Anderson2009-06-231-0/+18
| | | | llvm-svn: 74004
* Make timers threadsafe again. This isn't quite as nice as I'd hoped (it ↵Owen Anderson2009-06-231-1/+53
| | | | | | | | | | uses locking rather than atomic arithmetic), but should work on all the platforms we care about. I might revisit this if a totally awesome way to do it occurs to me. llvm-svn: 74002
* Revert my last series of commits related to Timer and 64-bit atomics. Not ↵Owen Anderson2009-06-233-41/+29
| | | | | | | | all the targets we care about are capable of supporting it. llvm-svn: 73993
* Test instructions operands were printed in the wrong order.Evan Cheng2009-06-231-10/+10
| | | | llvm-svn: 73990
* "The MMX_MASKMOVQ and MMX_MASKMOVQ64 instructions are labeled as MRMDestMemBill Wendling2009-06-231-2/+2
| | | | | | | | | | | instructions, which implies that there is an explicit memory operand. There is (however) no explicit memory operand; although this is a store, the only memory operand is implicit, indicated by DS:EDI. This causes the table-generation code for the disassembler to report an error." Patch by Sean Callanan! llvm-svn: 73989
* Switched size_t to int64_t to prevent type mismatch in call to max.Lang Hames2009-06-231-2/+2
| | | | llvm-svn: 73988
* Proper patterns for thumb2 shift and rotate instructions.Evan Cheng2009-06-231-55/+115
| | | | llvm-svn: 73987
* Code clean up.Evan Cheng2009-06-231-6/+5
| | | | llvm-svn: 73986
* Add IsThumb1Only to most 16-bit thumb instructions since we want to isel ↵Evan Cheng2009-06-232-53/+75
| | | | | | 32-bit instructions when they are available. llvm-svn: 73985
* Atomic ops that do arithmetic use signed arithmetic.Owen Anderson2009-06-232-6/+6
| | | | llvm-svn: 73980
* Actually, these need to be signed integers, not unsigned.Owen Anderson2009-06-231-2/+2
| | | | llvm-svn: 73978
* Rename SelectShifterOperand to SelectThumb2ShifterOperandReg.Evan Cheng2009-06-232-7/+7
| | | | llvm-svn: 73975
* Use 64-bit integer counters for tracking time, rather than doubles. This ↵Owen Anderson2009-06-231-17/+17
| | | | | | will be more atomic op friendly. llvm-svn: 73974
* Label the existing atomic functions as 32-bit specific, and add a 64-bit one ↵Owen Anderson2009-06-232-8/+20
| | | | | | | | that will be useful in the near future. llvm-svn: 73971
* Eliminate object-relinking support from CMake. Fixes PR 4429 andDouglas Gregor2009-06-2311-43/+11
| | | | | | | cleans up the CMake-based build system a bit. Started by a patch from Xerxes Rånby. llvm-svn: 73969
* Obvious typo.Evan Cheng2009-06-231-2/+2
| | | | llvm-svn: 73967
* Initial Thumb2 support. Majority of the work is done by David Goodwin. There areEvan Cheng2009-06-235-134/+527
| | | | | | | | | | | | | also some contribution from Jim Grosbach, Bob Wilson, and Evan Cheng. I've done my best to consolidate the patches with those that were done by Viktor Kutuzov and Anton Korzh from Access Softek, Inc. Let me know if missed anything. I've completely reorganized the thumb2 td file, made more extensive uses of multiclass, etc. Test cases will be contributed later after I re-organize what's in svn first. llvm-svn: 73965
* Add an atomic add operation.Owen Anderson2009-06-231-0/+13
| | | | llvm-svn: 73964
* Make the lazy initialization of DefaultTimerGroup threadsafe.Owen Anderson2009-06-231-8/+14
| | | | llvm-svn: 73963
* Revert r73923, which broke clang.Owen Anderson2009-06-231-18/+10
| | | | llvm-svn: 73957
* Fold the add (ptr, offset) into ptr[offset] only if the offset is small ↵Sanjiv Gupta2009-06-231-2/+4
| | | | | | enough. movwi and moviw allow value of 5-bits only (i.e. 32). llvm-svn: 73953
* Minor reorg.Evan Cheng2009-06-231-17/+18
| | | | llvm-svn: 73948
* Replace isTwoAddress with operand constraint.Evan Cheng2009-06-231-1/+1
| | | | llvm-svn: 73947
* Use a default alignment for data and bss sections.Bruno Cardoso Lopes2009-06-232-19/+25
| | | | | | | | Only pad when the section size > 0 and move the code that deals with globals initializers to a place we know for sure the global is initialized. llvm-svn: 73944
* Guard the layout info object.Owen Anderson2009-06-231-0/+5
| | | | llvm-svn: 73928
* Guard the plugin loader.Owen Anderson2009-06-231-0/+5
| | | | llvm-svn: 73925
* Add guards around timer groups, which can be shared.Owen Anderson2009-06-221-10/+18
| | | | llvm-svn: 73923
* Fix a bug in the trip-count computation with And/Or. If either of theDan Gohman2009-06-221-8/+4
| | | | | | sides is CouldNotCompute, the resulting exact count must be CouldNotCompute. llvm-svn: 73920
* Add support for ARM's Advanced SIMD (NEON) instruction set.Bob Wilson2009-06-2212-125/+3100
| | | | | | | This is still a work in progress but most of the NEON instruction set is supported. llvm-svn: 73919
* Guard the statistics table.Owen Anderson2009-06-221-1/+3
| | | | llvm-svn: 73916
* Guard the global annotation tables.Owen Anderson2009-06-221-13/+25
| | | | llvm-svn: 73913
* Add locking around the external function lookup table for the interpreter.Owen Anderson2009-06-221-1/+12
| | | | llvm-svn: 73912
* Remove unneeded #include.Owen Anderson2009-06-221-1/+0
| | | | llvm-svn: 73911
* Fix a few minor issues that were exposed by the removal of SCEVHandle.Dan Gohman2009-06-222-2/+1
| | | | llvm-svn: 73910
* Add explicit types for shift count constants. This is in preparation forBob Wilson2009-06-222-45/+52
| | | | | | | another change that makes the types ambiguous (at least as far as tablegen is concerned). llvm-svn: 73909
* Fix llvm::ComputeNumSignBits to handle pointer typesDan Gohman2009-06-221-1/+5
| | | | | | conservatively correctly, instead of aborting. llvm-svn: 73908
* Remove the parent pointer from SCEV, since it did not end up being needed.Owen Anderson2009-06-221-30/+22
| | | | llvm-svn: 73907
OpenPOWER on IntegriCloud