aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Invert these branches by default, it makes assembly comparisons a littleEric Christopher2010-11-031-2/+2
| | | | | | | easier to read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118148 91177308-0d34-0410-b5e6-96231b3b80d8
* The MC code couldn't handle ARM LDR instructions with negative offsets:Bill Wendling2010-11-037-53/+160
| | | | | | | | | | | | | vldr.64 d1, [r0, #-32] The problem was with how the addressing mode 5 encodes the offsets. This change makes sure that the way offsets are handled in addressing mode 5 is consistent throughout the MC code. It involves re-refactoring the "getAddrModeImmOpValue" method into an "Imm12" and "addressing mode 5" version. But not to worry! The majority of the duplicated code has been unified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118144 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix DAGCombiner to avoid going into an infinite loop when itDan Gohman2010-11-032-1/+68
| | | | | | | | encounters (and:i64 (shl:i64 (load:i64), 1), 0xffffffff). This fixes rdar://8606584. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118143 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused function.Jim Grosbach2010-11-032-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118141 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the no longer used 'Modifier' optional operand to the ARMJim Grosbach2010-11-032-17/+8
| | | | | | printOperand() asm printer helper functions. rdar://8425198 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118140 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused function.Jim Grosbach2010-11-032-12/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118139 91177308-0d34-0410-b5e6-96231b3b80d8
* Break ARM addrmode4 (load/store multiple base address) into its constituentJim Grosbach2010-11-0310-106/+92
| | | | | | | parts. Represent the operation mode as an optional operand instead. rdar://8614429 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118137 91177308-0d34-0410-b5e6-96231b3b80d8
* Two sets of changes. Sorry they are intermingled.Evan Cheng2010-11-0317-166/+297
| | | | | | | | | | | | | | 1. Fix pre-ra scheduler so it doesn't try to push instructions above calls to "optimize for latency". Call instructions don't have the right latency and this is more likely to use introduce spills. 2. Fix if-converter cost function. For ARM, it should use instruction latencies, not # of micro-ops since multi-latency instructions is completely executed even when the predicate is false. Also, some instruction will be "slower" when they are predicated due to the register def becoming implicit input. rdar://8598427 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118135 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify scheduling itineraries to correct instruction latencies (not operandEvan Cheng2010-11-032-314/+314
| | | | | | | latencies) of loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118134 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor code out of APInt to form a isUIntN helper function.Dan Gohman2010-11-032-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118133 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typo, patch by Trevor Harmon (PR8537)Chris Lattner2010-11-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118131 91177308-0d34-0410-b5e6-96231b3b80d8
* Print an error as one big string instead of breaking it up.Dan Gohman2010-11-031-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118130 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete unused variables.Dan Gohman2010-11-031-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118128 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove several unhelpful checks for isValid from sys::Path.Dan Gohman2010-11-031-26/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118127 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure we're only storing a single bit here.Eric Christopher2010-11-021-2/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118126 91177308-0d34-0410-b5e6-96231b3b80d8
* per a suggestion by Frits van Bommel, mark all MBlaze Pseudo Chris Lattner2010-11-023-5/+8
| | | | | | | | instructions as isCodeGenOnly in the parent class instead of sprinkling it throughout the .td files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118125 91177308-0d34-0410-b5e6-96231b3b80d8
* chase owen.Chris Lattner2010-11-021-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118124 91177308-0d34-0410-b5e6-96231b3b80d8
* tweak this to pass.Chris Lattner2010-11-021-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118122 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r118097 to fix buildbots.Owen Anderson2010-11-022-203/+203
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118121 91177308-0d34-0410-b5e6-96231b3b80d8
* temporarily xfail this.Chris Lattner2010-11-021-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118120 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely reject instructions that have an operand in theirChris Lattner2010-11-023-56/+60
| | | | | | | | | | | | | | ins/outs list that isn't specified by their asmstring. Previously the asmmatcher would just force a 0 register into it, which clearly isn't right. Mark a bunch of ARM instructions that use this as isCodeGenOnly. Some of them are clearly pseudo instructions (like t2TBB) others use a weird hasExtraSrcRegAllocReq thing that will either need to be removed or the asmmatcher will need to be taught about it (someday). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118119 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak the opt -O2 / opt -O3 inliner thresholds to be the same as llvm-gcc andJakob Stoklund Olesen2010-11-021-2/+2
| | | | | | clang are using. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118118 91177308-0d34-0410-b5e6-96231b3b80d8
* Let the -inline-threshold command line argument take precedence over theJakob Stoklund Olesen2010-11-022-1/+4
| | | | | | | | threshold given to createFunctionInliningPass(). Both opt -O3 and clang would silently ignore the -inline-threshold option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118117 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to enforce MAXPATHLEN in sys::Path for Unix. OS's can checkDan Gohman2010-11-021-4/+6
| | | | | | | limits on their own. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118113 91177308-0d34-0410-b5e6-96231b3b80d8
* make MatchableInfo::Validate reject instructions (like LDR_PRE in ARM)Chris Lattner2010-11-021-6/+31
| | | | | | | that have complicated tying going on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118112 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify.Dan Gohman2010-11-021-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118110 91177308-0d34-0410-b5e6-96231b3b80d8
* Inline asm mult-alt constraint tests.John Thompson2010-11-028-0/+2611
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118107 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a copy+pasto.Dan Gohman2010-11-021-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118106 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid manipulating paths in fixed-sized arrays.Dan Gohman2010-11-021-10/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118105 91177308-0d34-0410-b5e6-96231b3b80d8
* rewrite EmitConvertToMCInst to iterate over the MCInst operands,Chris Lattner2010-11-022-99/+76
| | | | | | | | | filling them in one at a time. Previously this iterated over the asmoperands, which left the problem of "holes". The new approach simplifies things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118104 91177308-0d34-0410-b5e6-96231b3b80d8
* Obsessive formatting changes. No functionality impact.Bill Wendling2010-11-021-31/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118103 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this code.Dan Gohman2010-11-021-6/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118102 91177308-0d34-0410-b5e6-96231b3b80d8
* Omit unused parameter name.Bill Wendling2010-11-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118099 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the EncodeInstruction method now that a lot of the special case stuffBill Wendling2010-11-021-13/+6
| | | | | | | is handled with the MC encoder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118098 91177308-0d34-0410-b5e6-96231b3b80d8
* Since these fields are not exactly equivalent to the encoded field, rename ↵Owen Anderson2010-11-022-203/+203
| | | | | | them to something with semantic meaning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118097 91177308-0d34-0410-b5e6-96231b3b80d8
* Use '\0' instead of 0 for nul character constants.Dan Gohman2010-11-021-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118096 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getAddrModeImm12OpValue to getAddrModeImmOpValue and expand it to workBill Wendling2010-11-026-57/+81
| | | | | | | | | with immediates up to 16-bits in size. The same logic is applied to other LDR encodings, e.g. VLDR, but which use a different immediate bit width (8-bits in VLDR's case). Removing the "12" allows it to be more generic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118094 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename encoder methods to match naming convention.Owen Anderson2010-11-023-11/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118093 91177308-0d34-0410-b5e6-96231b3b80d8
* mark a few codegenonly instructions.Chris Lattner2010-11-022-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118092 91177308-0d34-0410-b5e6-96231b3b80d8
* appendSuffix: don't append a dot when the suffix is empty.Mikhail Glushenkov2010-11-024-25/+17
| | | | | | | Additionally, move the implementation of appendSuffix to Path.cpp: it is platform-independent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118089 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r118057, this is better fixed in appendSuffix itself.Mikhail Glushenkov2010-11-021-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118088 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide correct encodings for the remaining vst variants that we currently ↵Owen Anderson2010-11-022-53/+164
| | | | | | generate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118087 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate some temporary std::strings.Dan Gohman2010-11-021-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118086 91177308-0d34-0410-b5e6-96231b3b80d8
* Tentative encodings for the "single element from one lane" variant of vst1.Owen Anderson2010-11-021-14/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118084 91177308-0d34-0410-b5e6-96231b3b80d8
* merge two large parallel loops in EmitConvertToMCInst, no changeChris Lattner2010-11-021-64/+40
| | | | | | | in the generated .inc files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118083 91177308-0d34-0410-b5e6-96231b3b80d8
* Add correct encodings for basic variants for vst3 and vst4.Owen Anderson2010-11-022-37/+83
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118082 91177308-0d34-0410-b5e6-96231b3b80d8
* Do relaxations with FT_Org fragments. Fixes the FIXME:Rafael Espindola2010-11-022-19/+34
| | | | | | | | | // FIXME: We should compute this sooner, we don't want to recurse here, and // we would like to be more functional. In MCAssembler::ComputeFragmentSize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118080 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed obsolete section about VC++ project files.Oscar Fuentes2010-11-021-10/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118072 91177308-0d34-0410-b5e6-96231b3b80d8
* Add NEON VST1-lane instructions. Partial fix for Radar 8599955.Bob Wilson2010-11-025-4/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118069 91177308-0d34-0410-b5e6-96231b3b80d8
* Add correct encodings for the basic variants for vst2.Owen Anderson2010-11-022-30/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118068 91177308-0d34-0410-b5e6-96231b3b80d8