- May 10, 2013
-
-
Chad Rosier authored
The issue was that the MatchingInlineAsm and VariantID args to the MatchInstructionImpl function weren't being set properly. Specifically, when parsing intel syntax, the parser thought it was parsing inline assembly in the at&t dialect; that will never be the case. The crash was caused when the emitter tried to emit the instruction, but the operands weren't set. When parsing inline assembly we only set the opcode, not the operands, which is used to lookup the instruction descriptor. rdar://13854391 and PR15945 Also, this commit reverts r176036. Now that we're correctly parsing the intel syntax the pushad/popad don't match properly. I've reimplemented that fix using a MnemonicAlias. llvm-svn: 181620
-
Rafael Espindola authored
llvm-svn: 181618
-
Chad Rosier authored
rdar://13854369 and PR15944 llvm-svn: 181564
-
- May 09, 2013
-
-
Bill Wendling authored
We generate a `push' of a random register (%rax) if the stack needs to be aligned by the size of that register. However, this could mess up compact unwind generation. In particular, we want to still generate compact unwind in the presence of this monstrosity. Check if the push of of the %rax/%eax register. If it is and it's marked with the `FrameSetup' flag, then we can generate a compact unwind encoding for the function only if the push is the last FrameSetup instruction. llvm-svn: 181540
-
Bill Wendling authored
The compact unwind registers were defined in two different places. It's better just to place them in the function that uses them and specify that this is a 64-bit or 32-bit machine. No functionality change. llvm-svn: 181529
-
- May 07, 2013
-
-
Preston Gurd authored
llvm-svn: 181346
-
Michael Kuperstein authored
llvm-svn: 181313
-
- May 05, 2013
-
-
David Majnemer authored
X86ISelLowering has support to treat: (icmp ne (and (xor %flags, -1), (shl 1, flag)), 0) as if it were actually: (icmp eq (and %flags, (shl 1, flag)), 0) However, r179386 has code at the InstCombine level to handle this. llvm-svn: 181145
-
Dmitri Gribenko authored
Patch by Robert Wilhelm. llvm-svn: 181138
-
Nadav Rotem authored
llvm-svn: 181137
-
Nadav Rotem authored
llvm-svn: 181136
-
- May 03, 2013
-
-
Benjamin Kramer authored
llvm-svn: 181005
-
Aaron Ballman authored
llvm-svn: 180992
-
Aaron Ballman authored
llvm-svn: 180991
-
John McCall authored
the "identifier" parsed by the frontend callback by skipping forward until we've consumed a token that ends at the point dictated by the callback. In addition, inform the callback when it's parsing an unevaluated operand (e.g. mov eax, LENGTH A::x) as opposed to an evaluated one (e.g. mov eax, [A::x]). This commit depends on a clang commit. llvm-svn: 180978
-
- May 02, 2013
-
-
Michael Liao authored
llvm-svn: 180915
-
Michael Liao authored
No functionality change llvm-svn: 180914
-
Michael Liao authored
No functionality change llvm-svn: 180912
-
- May 01, 2013
-
-
Rafael Espindola authored
Patch by Joshua Magee. llvm-svn: 180842
-
- Apr 26, 2013
-
-
Benjamin Kramer authored
llvm-svn: 180600
-
- Apr 25, 2013
-
-
Preston Gurd authored
Expunge all remaining traces and use of live variable information. llvm-svn: 180577
-
Preston Gurd authored
latency for certain models of the Intel Atom family, by converting instructions into their equivalent LEA instructions, when it is both useful and possible to do so. llvm-svn: 180573
-
Rafael Espindola authored
Patch by Kai Nacke. This matches the gnu as output. llvm-svn: 180568
-
- Apr 23, 2013
-
-
Chad Rosier authored
Disp will always be one of MCSymbolRefExpr or MCConstantExpr, and never NULL. llvm-svn: 180059
-
Chad Rosier authored
the MCParsedAsmOperand. Part of rdar://13663589 llvm-svn: 180054
-
- Apr 22, 2013
-
-
Chad Rosier authored
llvm-svn: 180044
-
Chad Rosier authored
now taken care of by the frontend, which allows us to parse arbitrary C/C++ variables. Part of rdar://13663589 llvm-svn: 180037
-
Chad Rosier authored
change indended. Part of rdar://13663589 llvm-svn: 180028
-
- Apr 20, 2013
-
-
Tim Northover authored
I think it's almost impossible to fold atomic fences profitably under LLVM/C++11 semantics. As a result, this is now unused and just cluttering up the target interface. llvm-svn: 179940
-
Tim Northover authored
llvm-svn: 179939
-
Eli Bendersky authored
trying to move as much FastISel logic as possible out of the main path in SelectionDAGISel - intermixing them just adds confusion. llvm-svn: 179902
-
Michael Liao authored
llvm-svn: 179901
-
- Apr 19, 2013
-
-
Chad Rosier authored
llvm-svn: 179875
-
Chad Rosier authored
indended. Part of rdar://13663589 llvm-svn: 179871
-
Chad Rosier authored
qualifiers don't necessarily begin with an identifier (e.g., ::foo::bar). llvm-svn: 179867
-
Chad Rosier authored
llvm-svn: 179866
-
Chad Rosier authored
llvm-svn: 179865
-
Chad Rosier authored
llvm-svn: 179856
-
Michael Liao authored
llvm-svn: 179833
-
Bill Wendling authored
llvm-svn: 179820
-