- Jul 28, 2009
-
-
David Goodwin authored
llvm-svn: 77329
-
Evan Cheng authored
llvm-svn: 77305
-
Evan Cheng authored
- This change also makes it possible to switch between ARM / Thumb on a per-function basis. - Fixed thumb2 routine which expand reg + arbitrary immediate. It was using using ARM so_imm logic. - Use movw and movt to do reg + imm when profitable. - Other code clean ups and minor optimizations. llvm-svn: 77300
-
David Goodwin authored
llvm-svn: 77275
-
- Jul 27, 2009
-
-
David Goodwin authored
llvm-svn: 77199
-
Sanjiv Gupta authored
Test case to check that separate section is created for a global variable specified with section attribute. llvm-svn: 77195
-
Chris Lattner authored
llvm-svn: 77192
-
- Jul 26, 2009
-
-
Chris Lattner authored
llvm-svn: 77116
-
Chris Lattner authored
for now. Make the section switching directives more consistent by not including \n and including \t for them all. llvm-svn: 77107
-
Chris Lattner authored
and make it more aggressive, we now put: const int G2 __attribute__((weak)) = 42; into the text (readonly) segment like gcc, previously we put it into the data (readwrite) segment. llvm-svn: 77104
-
Bob Wilson authored
Patch by Anton Korzh, with some modifications from me. llvm-svn: 77101
-
- Jul 25, 2009
-
-
Chris Lattner authored
Thanks to Rafael for the great example. llvm-svn: 77083
-
Evan Cheng authored
llvm-svn: 77031
-
Evan Cheng authored
Before: adr r12, #LJTI3_0_0 ldr pc, [r12, +r0, lsl #2] LJTI3_0_0: .long LBB3_24 .long LBB3_30 .long LBB3_31 .long LBB3_32 After: adr r12, #LJTI3_0_0 add pc, r12, +r0, lsl #2 LJTI3_0_0: b.w LBB3_24 b.w LBB3_30 b.w LBB3_31 b.w LBB3_32 This has several advantages. 1. This will make it easier to optimize this to a TBB / TBH instruction + (smaller) table. 2. This eliminate the need for ugly asm printer hack to force the address into thumb addresses (bit 0 is one). 3. Same codegen for pic and non-pic. 4. This eliminate the need to align the table so constantpool island pass won't have to over-estimate the size. Based on my calculation, the later is probably slightly faster as well since ldr pc with shifter address is very slow. That is, it should be a win as long as the HW implementation can do a reasonable job of branch predict the second branch. llvm-svn: 77024
-
Evan Cheng authored
llvm-svn: 77020
-
Evan Cheng authored
llvm-svn: 77007
-
Evan Cheng authored
llvm-svn: 77006
-
- Jul 24, 2009
-
-
Eric Christopher authored
format and add an extract/insert test. llvm-svn: 76994
-
Evan Cheng authored
llvm-svn: 76954
-
Chris Lattner authored
a sad mistake that is regretted. :) llvm-svn: 76935
-
Richard Osborne authored
but pass when run against r76652. llvm-svn: 76923
-
Dan Gohman authored
llvm-svn: 76920
-
Evan Cheng authored
llvm-svn: 76909
-
- Jul 23, 2009
-
-
Evan Cheng authored
Also fixed up code to fully use the SoImm field for ADR on ARM mode. llvm-svn: 76890
-
Chris Lattner authored
llvm-svn: 76853
-
Chris Lattner authored
llvm-svn: 76852
-
Chris Lattner authored
llvm-svn: 76850
-
Chris Lattner authored
dumping ground of various SSE4.1 tests, since filecheck can reasonably handle them all in one file. Generalize it to check x86-64 stuff as well since it has a different ABI (a convenient way to test both the reg and mem forms of these instructions). llvm-svn: 76848
-
Eric Christopher authored
testcases to make sure it's being generated. llvm-svn: 76843
-
Eric Christopher authored
llvm-svn: 76840
-
Dan Gohman authored
llvm-svn: 76823
-
Dan Gohman authored
llvm-svn: 76817
-
Dan Gohman authored
llvm-svn: 76805
-
Evan Cheng authored
llvm-svn: 76803
-
Dan Gohman authored
unintended matches. llvm-svn: 76802
-
- Jul 22, 2009
-
-
Evan Cheng authored
llvm-svn: 76799
-
Duncan Sands authored
on linux platforms. The binutils assembler does not recognize the "s" flag, see for example http://sourceware.org/binutils/docs/as/Section.html llvm-svn: 76733
-
Chris Lattner authored
updating a mips testcase to expect it. llvm-svn: 76707
-
Evan Cheng authored
llvm-svn: 76669
-
- Jul 21, 2009
-
-
Evan Cheng authored
llvm-svn: 76600
-