- Sep 07, 2010
-
-
Chris Lattner authored
always be disambiguated as sldtw. sldtw and sldtq with a mem operands have the same effect, but sldtw is more compact. Force it to sldtw, resolving rdar://8017530 llvm-svn: 113186
-
-
Chris Lattner authored
is busted for all variants, report it as the location. This allows us to get the operand right for bugs like: t.s:3:12: error: invalid operand for instruction outb %al, %gs ^ Even though there are reg/imm and reg/reg forms of this instruction. llvm-svn: 113183
-
Chris Lattner authored
allowing unsigned 8-bit operands. This fixes rdar://8208481 llvm-svn: 113182
-
Chris Lattner authored
of a mneumonic, report operand errors with better location info. For example, we now report: t.s:6:14: error: invalid operand for instruction cwtl $1 ^ but we fail for common cases like: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ because we don't know if this is supposed to be the reg/imm or imm/reg form. llvm-svn: 113178
-
- Sep 06, 2010
-
-
Chris Lattner authored
give a more detailed error. Before: t.s:11:4: error: unrecognized instruction addl $1, $1 ^ t.s:12:4: error: unrecognized instruction f2efqefa $1 ^ After: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ t.s:12:4: error: invalid instruction mnemonic 'f2efqefa' f2efqefa $1 ^ This fixes rdar://8017912 - llvm-mc says "unrecognized instruction" when it means "invalid operands" llvm-svn: 113176
-
Chris Lattner authored
llvm-svn: 113174
-
Chris Lattner authored
llvm-svn: 113173
-
Chris Lattner authored
llvm-svn: 113172
-
Chris Lattner authored
by doing a binary search over the mnemonic instead of doing a linear search through all possible instructions. This implements rdar://7785064 llvm-svn: 113171
-
Chris Lattner authored
MatchInstructionImpl. This makes it easier to read/understand MatchInstructionImpl. llvm-svn: 113170
-
Chris Lattner authored
generated matcher, emiting it as a column in the MatchEntry table instead of forcing it to go through classification and everything else. Making it be classified caused tblgen to produce a ton of one-off classes for each mneumonic. This should reduce the size of the generated matcher significantly while paving the way for future improvements. llvm-svn: 113169
-
Chris Lattner authored
so only do the N^2 loop with debug mode. llvm-svn: 113168
-
Chris Lattner authored
llvm-svn: 113167
-
Chris Lattner authored
failed because a subtarget feature was not enabled. Use this to remove a bunch of hacks from the X86AsmParser for rejecting things like popfl in 64-bit mode. Previously these hacks weren't needed, but were important to get a message better than "invalid instruction" when used in the wrong mode. This also fixes bugs where pushal would not be rejected correctly in 32-bit mode (just pusha). llvm-svn: 113166
-
Chris Lattner authored
llvm-svn: 113165
-
Chris Lattner authored
llvm-svn: 113164
-
Chris Lattner authored
into the middle of the class, and rework how the different sections of the generated file are conditionally included for simplicity. llvm-svn: 113163
-
Eric Christopher authored
llvm-svn: 113160
-
Eric Christopher authored
llvm-svn: 113159
-
Roman Divacky authored
llvm-svn: 113158
-
Chris Lattner authored
llvm-svn: 113157
-
Benjamin Kramer authored
llvm-svn: 113155
-
Chris Lattner authored
llvm-svn: 113147
-
Chris Lattner authored
llvm-svn: 113146
-
Chris Lattner authored
StringMatcher instead of a linear sequence of memcmps. llvm-svn: 113145
-
Chris Lattner authored
llvm-svn: 113144
-
Chris Lattner authored
llvm-svn: 113143
-
Chris Lattner authored
copy of a close relative of it. llvm-svn: 113142
-
Chris Lattner authored
llvm-svn: 113141
-
Chris Lattner authored
"1 strings to match" in a comment, which isn't gramatic. llvm-svn: 113140
-
Chris Lattner authored
llvm-svn: 113139
-
Chris Lattner authored
out of AsmMatcherEmitter.cpp into its own class. llvm-svn: 113137
-
Chris Lattner authored
comparing the "llvm." prefix in the memcmp, and not storing it in the string literal. llvm-svn: 113136
-
Chris Lattner authored
llvm-svn: 113135
-
Chris Lattner authored
in the duplicated block instead of duplicating them. Duplicating them into the end of the loop and the preheader means that we got a phi node in the header of the loop, which prevented LICM from hoisting them. GVN would usually come around later and merge the duplicated instructions so we'd get reasonable output... except that anything dependent on the shoulda-been-hoisted value can't be hoisted. In PR5319 (which this fixes), a memory value didn't get promoted. llvm-svn: 113134
-
Chris Lattner authored
Loop::hasLoopInvariantOperands method. Remove a useless and confusing Loop::isLoopInvariant(Instruction) method, which didn't do what you thought it did. No functionality change. llvm-svn: 113133
-
Chris Lattner authored
llvm-svn: 113123
-
Chris Lattner authored
pattern, so there is no need to define a matching function. llvm-svn: 113122
-
Chris Lattner authored
llvm-svn: 113121
-