- Jul 09, 2010
-
-
Chris Lattner authored
jumps where possible and turning the TAILCALL marker in the instruction asm string into a proper comment. This eliminates a FIXME and is on the path to finishing: rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc. However, I can't eliminate the encodings for these instructions because the JIT still exists and has its own copy of the encoder, sigh. llvm-svn: 107946
-
Bob Wilson authored
consistency with other instructions that have lists of register operands. llvm-svn: 107944
-
Dan Gohman authored
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL. llvm-svn: 107943
-
Bruno Cardoso Lopes authored
llvm-svn: 107942
-
Bob Wilson authored
disabled and then never turned back on again. Adjust some tests, one because this change avoids an unnecessary instruction, and the other to make it continue testing what it was intended to test. llvm-svn: 107941
-
Chris Lattner authored
llvm-svn: 107939
-
Bruno Cardoso Lopes authored
llvm-svn: 107937
-
Chris Lattner authored
like all other instructions, even though a segment is not allowed. This resolves a bunch of gross hacks in the encoder and makes LEA more consistent with the rest of the instruction set. No functionality change. llvm-svn: 107934
-
Stuart Hastings authored
llvm-svn: 107930
-
Jakob Stoklund Olesen authored
This reverts commit 107921. It broke the clang self host. llvm-svn: 107926
-
Chris Lattner authored
X86 memory operand. llvm-svn: 107925
-
Devang Patel authored
Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function. This fixes PR7596 . llvm-svn: 107923
-
Bill Wendling authored
if the inline ASM doesn't need a stack frame. llvm-svn: 107922
-
Jakob Stoklund Olesen authored
llvm-svn: 107921
-
Jakob Stoklund Olesen authored
llvm-svn: 107920
-
Stuart Hastings authored
llvm-svn: 107919
-
Chris Lattner authored
in memory operands at the same type as hard coded segments. This fixes problems where we'd emit the segment override after the REX prefix on instructions like: mov %gs:(%rdi), %rax This fixes rdar://8127102. I have several cleanup patches coming next. llvm-svn: 107917
-
Chris Lattner authored
returns the start of the memory operand for an instruction. Introduce a new "X86AddrSegment" enum to reduce # magic numbers referring to X86 memory operand layout. llvm-svn: 107916
-
- Jul 08, 2010
-
-
Kalle Raiskila authored
to a Tablegen implementation. llvm-svn: 107913
-
Stuart Hastings authored
llvm-svn: 107907
-
Kevin Enderby authored
.weak_def_can_be_hidden directive. Chris pointed out that the MCAsmInfo.h/.cpp chunks aren't needed for this until the compiler starts generating these. And when that happens it will be more convenient for it to be a bool than a const char*. llvm-svn: 107906
-
Evan Cheng authored
llvm-svn: 107904
-
Devang Patel authored
Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form. llvm-svn: 107903
-
Jakob Stoklund Olesen authored
This pass runs before COPY instructions are passed to copyPhysReg, so we simply translate COPY to the proper pseudo instruction. Note that copyPhysReg does not handle floating point stack copies. Once COPY is used everywhere, this can be cleaned up a bit, and most of the pseudo instructions can be removed. llvm-svn: 107899
-
Jakob Stoklund Olesen authored
llvm-svn: 107898
-
Bob Wilson authored
This pass can go away entirely soon. llvm-svn: 107892
-
Bob Wilson authored
words within the 64-bit D registers. Use VLD1/VST1 with 64-bit elements instead. llvm-svn: 107890
-
Jim Grosbach authored
llvm-svn: 107887
-
Kevin Enderby authored
llvm-svn: 107886
-
Gabor Greif authored
(by caching the result we save a potentially expensive dereference) also use typedefs to shorten type declarations llvm-svn: 107883
-
Bob Wilson authored
llvm-svn: 107882
-
Gabor Greif authored
llvm-svn: 107881
-
Jim Grosbach authored
the simplification of frame index register scavenging to not have to check for available registers directly and instead just let scavengeRegister() handle it. llvm-svn: 107880
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
Jakob Stoklund Olesen authored
Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of INSERT_SUBREG. llvm-svn: 107878
-
Duncan Sands authored
causes some versions of gcc to crash when building LLVM. llvm-svn: 107869
-
Benjamin Kramer authored
llvm-svn: 107868
-
Duncan Sands authored
compiled with MSVC 2010 (PR7367). Instead use a SmallVector. llvm-svn: 107867
-
Benjamin Kramer authored
(X >s -1) ? C1 : C2 and (X <s 0) ? C2 : C1 into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional. This optimization could be extended to take non-const C1 and C2 but we better stay conservative to avoid code size bloat for now. for int sel(int n) { return n >= 0 ? 60 : 100; } we now generate sarl $31, %edi andl $40, %edi leal 60(%rdi), %eax instead of testl %edi, %edi movl $60, %ecx movl $100, %eax cmovnsl %ecx, %eax llvm-svn: 107866
-
Duncan Sands authored
llvm-svn: 107862
-