- Apr 13, 2010
-
-
Dan Gohman authored
llvm-svn: 101144
-
Bob Wilson authored
recognize all the valid rotated immediates. This fixes the disassembler issue and will also help codegen for some unusual constant values. llvm-svn: 101114
-
Chris Lattner authored
patch by Sylvere Teissier! llvm-svn: 101106
-
-
Bill Wendling authored
If we have this situation: jCC L1 jmp L2 L1: ... L2: ... We can get a small performance boost by emitting this instead: jnCC L2 L1: ... L2: ... This testcase shows an example of this: float func(float x, float y) { double product = (double)x * y; if (product == 0.0) return product; return product - 1.0; } llvm-svn: 101075
-
- Apr 12, 2010
-
-
Johnny Chen authored
ARM_AM::getSoImmVal(V) with a legitimate so_imm value: #245 rotate right by 2. Introduce ARM_AM::getSOImmValOneOrNoRotate(unsigned Arg) which is called from ARMInstPrinter.cpp's printSOImm() function, replacing ARM_AM::getSOImmVal(V). [12:44:43] johnny:/Volumes/data/llvm/git/trunk (local-trunk) $ gdb Debug/bin/llvm-mc GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ... done (gdb) set args -triple=arm-apple-darwin9 -debug-only=arm-disassembler --disassemble (gdb) r Starting program: /Volumes/data/llvm/git/trunk/Debug/bin/llvm-mc -triple=arm-apple-darwin9 -debug-only=arm-disassembler --disassemble Reading symbols for shared libraries ++. done 0xf5 0x71 0xf0 0x53 Opcode=201 Name=MVNi Format=ARM_FORMAT_DPFRM(4) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ------------------------------------------------------------------------------------------------- | 0: 1: 0: 1| 0: 0: 1: 1| 1: 1: 1: 1| 0: 0: 0: 0| 0: 1: 1: 1| 0: 0: 0: 1| 1: 1: 1: 1| 0: 1: 0: 1| ------------------------------------------------------------------------------------------------- mvnpls r7, Assertion failed: (V != -1 && "Not a valid so_imm value!"), function printSOImm, file ARMInstPrinter.cpp, line 229. Program received signal SIGABRT, Aborted. 0x00007fff88c65886 in __kill () (gdb) bt #0 0x00007fff88c65886 in __kill () #1 0x00007fff88d05eae in abort () #2 0x00007fff88cf2ef0 in __assert_rtn () #3 0x000000010020e422 in printSOImm (O=@0x1010bdf80, V=-1, VerboseAsm=false, MAI=0x1020106d0) at ARMInstPrinter.cpp:229 #4 0x000000010020e5fe in llvm::ARMInstPrinter::printSOImmOperand (this=0x1020107e0, MI=0x7fff5fbfee70, OpNum=1, O=@0x1010bdf80) at ARMInstPrinter.cpp:254 #5 0x00000001001ffbc0 in llvm::ARMInstPrinter::printInstruction (this=0x1020107e0, MI=0x7fff5fbfee70, O=@0x1010bdf80) at ARMGenAsmWriter.inc:3236 #6 0x000000010020c27c in llvm::ARMInstPrinter::printInst (this=0x1020107e0, MI=0x7fff5fbfee70, O=@0x1010bdf80) at ARMInstPrinter.cpp:182 #7 0x000000010003cbff in PrintInsts (DisAsm=@0x10200f4e0, Printer=@0x1020107e0, Bytes=@0x7fff5fbff060, SM=@0x7fff5fbff078) at Disassembler.cpp:65 #8 0x000000010003c8b4 in llvm::Disassembler::disassemble (T=@0x1010c13c0, Triple=@0x1010b6798, Buffer=@0x102010690) at Disassembler.cpp:153 #9 0x000000010004095c in DisassembleInput (ProgName=0x7fff5fbff3f0 "/Volumes/data/llvm/git/trunk/Debug/bin/llvm-mc") at llvm-mc.cpp:347 #10 0x000000010003eefb in main (argc=4, argv=0x7fff5fbff298) at llvm-mc.cpp:374 (gdb) q The program is running. Exit anyway? (y or n) y [13:36:26] johnny:/Volumes/data/llvm/git/trunk (local-trunk) $ llvm-svn: 101053
-
- Apr 10, 2010
-
-
Chris Lattner authored
parameters in the CBE by implicitly adding a fixed argument. This allows eliminating a work-around from DAE. Patch by Sylvere Teissier! llvm-svn: 100944
-
- Apr 09, 2010
-
-
Bob Wilson authored
such that the non-VFP versions have no implicit defs of VFP registers. If any callee-saved VFP registers are marked as having been defined, the prologue/epilogue code will try to save and restore them. Radar 7770432. llvm-svn: 100892
-
Chris Lattner authored
"On SPU, variables in the .bss section that are allocated with the .lcomm directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment. this patch disables .lcomm in favour of '.local .comm' Patch by Kalle Raisklia! llvm-svn: 100875
-
- Apr 08, 2010
-
-
Chris Lattner authored
llvm-svn: 100815
-
Chris Lattner authored
merge XCore's section into MCSectionELF llvm-svn: 100812
-
Chris Lattner authored
api and update clients to use MCContext instead. llvm-svn: 100808
-
Gabor Greif authored
llvm-svn: 100762
-
Gabor Greif authored
llvm-svn: 100760
-
Gabor Greif authored
llvm-svn: 100758
-
Benjamin Kramer authored
llvm-svn: 100756
-
Evan Cheng authored
llvm-svn: 100751
-
Eric Christopher authored
Fixes PR3440. llvm-svn: 100736
-
Sean Callanan authored
I also added a rule to the ARM target's Makefile to build the ARM-specific instruction information table for the enhanced disassembler. I will add the test harness for all this stuff in a separate commit. llvm-svn: 100735
-
Ted Kremenek authored
llvm-svn: 100714
-
Chris Lattner authored
llvm-svn: 100709
-
Chris Lattner authored
llvm-svn: 100706
-
Johnny Chen authored
llvm-svn: 100697
-
Johnny Chen authored
llvm-svn: 100696
-
- Apr 07, 2010
-
-
Johnny Chen authored
Next to work on is ARMDisassemblerCore.cpp. llvm-svn: 100695
-
Sean Callanan authored
argument that had to be between 0 and 7 to have any value, firing an assert later in the AsmPrinter. Now, the disassembler rejects instructions with out-of-range values for that immediate. llvm-svn: 100694
-
Johnny Chen authored
llvm-svn: 100693
-
Johnny Chen authored
ARMDecoderEmitter.cpp, with FIXME comment. llvm-svn: 100690
-
Sean Callanan authored
a simple mapping of register names to IDs to identify register tokens. llvm-svn: 100685
-
Dale Johannesen authored
DBG_VALUE does not generate code. llvm-svn: 100681
-
Anton Korobeynikov authored
It is not ready for public yet. llvm-svn: 100673
-
Anton Korobeynikov authored
llvm-svn: 100672
-
Anton Korobeynikov authored
llvm-svn: 100671
-
Anton Korobeynikov authored
llvm-svn: 100670
-
Anton Korobeynikov authored
llvm-svn: 100669
-
Anton Korobeynikov authored
llvm-svn: 100668
-
Anton Korobeynikov authored
llvm-svn: 100667
-
Anton Korobeynikov authored
llvm-svn: 100666
-
Anton Korobeynikov authored
llvm-svn: 100665
-
Anton Korobeynikov authored
llvm-svn: 100664
-