- Dec 14, 2007
-
-
Evan Cheng authored
llvm-svn: 45037
-
Dan Gohman authored
llvm-svn: 45030
-
Evan Cheng authored
Fix ctlz and cttz. llvm definition requires them to return number of bits in of the src type when value is zero. llvm-svn: 45029
-
Evan Cheng authored
llvm-svn: 45024
-
- Dec 13, 2007
-
-
Evan Cheng authored
llvm-svn: 44970
-
Evan Cheng authored
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled. llvm-svn: 44960
-
- Nov 13, 2007
-
-
Bill Wendling authored
llvm-svn: 44045
-
Bill Wendling authored
adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If not, then there is the potential for the stack to be changed while the stack's being used by another instruction (like a call). This can only result in tears... llvm-svn: 44037
-
- Nov 12, 2007
-
-
Owen Anderson authored
Target maintainers: please check that the instructions for your target are correctly marked. llvm-svn: 44012
-
- Oct 19, 2007
-
-
Evan Cheng authored
Turn a store folding instruction into a load folding instruction. e.g. xorl %edi, %eax movl %eax, -32(%ebp) movl -36(%ebp), %eax orl %eax, -32(%ebp) => xorl %edi, %eax orl -36(%ebp), %eax mov %eax, -32(%ebp) This enables the unfolding optimization for a subsequent instruction which will also eliminate the newly introduced store instruction. llvm-svn: 43192
-
- Oct 12, 2007
-
-
Arnold Schwaighofer authored
for fastcc from X86CallingConv.td. This means that nested functions are not supported for calling convention 'fastcc'. llvm-svn: 42934
-
- Oct 11, 2007
-
-
Arnold Schwaighofer authored
enabled by passing -tailcallopt to llc. The optimization is performed if the following conditions are satisfied: * caller/callee are fastcc * elf/pic is disabled OR elf/pic enabled + callee is in module + callee has visibility protected or hidden llvm-svn: 42870
-
- Oct 06, 2007
-
-
Evan Cheng authored
to its inverse. Testing this as llcbeta llvm-svn: 42661
-
- Oct 05, 2007
-
-
Evan Cheng authored
llvm-svn: 42640
-
- Sep 29, 2007
-
-
Evan Cheng authored
llvm-svn: 42459
-
- Sep 28, 2007
-
-
Evan Cheng authored
llvm-svn: 42429
-
Evan Cheng authored
llvm-svn: 42426
-
- Sep 26, 2007
-
-
Evan Cheng authored
Some assemblers do not recognize aliases pushfd, pushfq, popfd, and popfq. Just emit them as pushf and popf. llvm-svn: 42371
-
Evan Cheng authored
llvm-svn: 42348
-
Evan Cheng authored
llvm-svn: 42335
-
- Sep 25, 2007
-
-
Evan Cheng authored
Added support for new condition code modeling scheme (i.e. physical register dependency). These are a bunch of instructions that are duplicated so the x86 backend can support both the old and new schemes at the same time. They will be deleted after all the kinks are worked out. llvm-svn: 42285
-
- Sep 24, 2007
-
-
Dan Gohman authored
llvm-svn: 42268
-
- Sep 23, 2007
-
-
Dale Johannesen authored
keep f32 in SSE registers and f64 in x87. This is effectively a new codegen mode. Change addLegalFPImmediate to permit float and double variants to do different things. Adjust callers. llvm-svn: 42246
-
- Sep 14, 2007
-
-
Evan Cheng authored
llvm-svn: 41962
-
- Sep 11, 2007
-
-
Evan Cheng authored
llvm-svn: 41863
-
- Sep 08, 2007
-
-
Evan Cheng authored
registers. The scheduler is now responsible for emitting them. llvm-svn: 41781
-
- Sep 07, 2007
-
-
Dan Gohman authored
by flagging the associated instructions as being trivially rematerializable. llvm-svn: 41775
-
- Aug 30, 2007
-
-
Evan Cheng authored
llvm-svn: 41595
-
- Aug 05, 2007
-
-
Dale Johannesen authored
Lots of problems yet but some simple things work. llvm-svn: 40847
-
- Aug 02, 2007
-
-
Evan Cheng authored
llvm-svn: 40723
-
Evan Cheng authored
llvm-svn: 40701
-
- Aug 01, 2007
-
-
Evan Cheng authored
llvm-svn: 40689
-
- Jul 31, 2007
-
-
Dan Gohman authored
mnemonics from their operands instead of single spaces. This makes the assembly output a little more consistent with various other compilers (f.e. GCC), and slightly easier to read. Also, update the regression tests accordingly. llvm-svn: 40648
-
Evan Cheng authored
Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load ) llvm-svn: 40628
-
- Jul 29, 2007
-
-
Christopher Lamb authored
Change the x86 backend to use extract_subreg for truncation operations. Passes DejaGnu, SingleSource and MultiSource. llvm-svn: 40578
-
- Jul 26, 2007
-
-
Dan Gohman authored
don't get decorated as if for immediate fields for instructions. llvm-svn: 40529
-
- Jul 21, 2007
-
-
Evan Cheng authored
llvm-svn: 40132
-
- Jul 19, 2007
-
-
Evan Cheng authored
InOperandList. This gives one piece of important information: # of results produced by an instruction. An example of the change: def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; => def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; llvm-svn: 40033
-
- Jul 14, 2007
-
-
Anton Korobeynikov authored
This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux. In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder. After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere. llvm-svn: 39855
-
- Jun 26, 2007
-
-
Dan Gohman authored
instruction flag, and use the flag along with a virtual member function hook for targets to override if there are instructions that are only trivially rematerializable with specific operands (i.e. constant pool loads). llvm-svn: 37728
-