- Feb 04, 2010
-
-
Chris Lattner authored
"Attached patch removes the extra NUL bytes from the output and changes test/Archive/MacOSX.toc from a binary to a text file (removes svn:mime-type=application/octet-stream and adds svn:eol-style=native). I can't figure out how to get SVN to include the new contents of the file in the patch so I'm attaching it separately." Patch by James Abbatiello! llvm-svn: 95292
-
Eric Christopher authored
Fix bugs where we would compute out of bounds as in bounds, and where we couldn't know that the linker could override the size of an array. Add a few new testcases, change existing testcase to use a private global array instead of extern. llvm-svn: 95283
-
Evan Cheng authored
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing). llvm-svn: 95282
-
Dan Gohman authored
than int. This will make it more convenient for LSR, which does a lot of things with int64_t offsets. llvm-svn: 95281
-
Evan Cheng authored
Indirect tail call has to go through a call preserved register since it's after callee register pops. X86 isel lowering is using EAX / R11 and it was somehow adding that to function live out. That prevented the real function return register from being added to the function live out list and bad things happen. This fixes 483.xalancbmk (with tail call opt). llvm-svn: 95280
-
Dan Gohman authored
llvm-svn: 95272
-
Dale Johannesen authored
again, so it more or less handles long double. Restore \n removed in latest MC frenzy. llvm-svn: 95271
-
Victor Hernandez authored
Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated llvm-svn: 95269
-
Eric Christopher authored
particular size, we just don't know what the length is yet. llvm-svn: 95266
-
- Feb 03, 2010
-
-
Chris Lattner authored
instructions with no operands. It can now handle define void @test2() nounwind { ret void } llvm-svn: 95261
-
Chris Lattner authored
llvm-svn: 95260
-
Evan Cheng authored
Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue. llvm-svn: 95259
-
Chris Lattner authored
-enable-new-x86-encoder until its stable. llvm-svn: 95256
-
Chris Lattner authored
llvm-svn: 95254
-
Kevin Enderby authored
Lock prefix, Repeat string operation prefixes and the Segment override prefixes. Also added versions of the move string and store string instructions without the repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is happy building the disassembler files. llvm-svn: 95252
-
Devang Patel authored
llvm-svn: 95242
-
Devang Patel authored
llvm-svn: 95240
-
Jeffrey Yasskin authored
1-argument ExecutionEngine::create(Module*) ambiguous with the signature that used to be ExecutionEngine::create(ModuleProvider*, defaulted_params). Fixed by removing the 1-argument create(). Fixes PR6221. llvm-svn: 95236
-
Daniel Dunbar authored
output. llvm-svn: 95227
-
Bob Wilson authored
The SRThreshold value makes perfect sense for checking if an entire aggregate should be promoted to a scalar integer, but it is not so good for splitting an aggregate into its separate elements. A struct may contain a large embedded array along with some scalar fields that would benefit from being split apart by SROA. Even if the total aggregate size is large, it may still be good to perform SROA. Thus, the most important piece of this patch is simply moving the aggregate size comparison vs. SRThreshold so that it guards only the aggregate promotion. We have also been checking the number of elements to decide if an aggregate should be split up. The limit of "SRThreshold/4" seemed rather arbitrary, and I don't think it's very useful to derive this limit from SRThreshold anyway. I've collected some data showing that the current default limit of 32 (since SRThreshold defaults to 128) is a reasonable cutoff for struct types. One thing suggested by the data is that distinguishing between structs and arrays might be useful. There are (obviously) a lot more large arrays than large structs (as measured by the number of elements and not the total size -- a large array inside a struct still counts as a single element given the way we do SROA right now). Out of 8377 arrays where we successfully performed SROA while compiling a large set of benchmarks, only 16 of them had more than 8 elements. And, for those 16 arrays, it's not at all clear that SROA was actually beneficial. So, to offset the compile time cost of investigating more large structs for SROA, the patch lowers the limit on array elements to 8. This fixes Apple Radar 7563690. llvm-svn: 95224
-
Chris Lattner authored
llvm-svn: 95209
-
Chris Lattner authored
llvm-svn: 95208
-
Chris Lattner authored
so that llvm-mc -show-encoding prints like this: hlt ## encoding: [0xf4] instead of like this: hlt # encoding: [0xf4] llvm-svn: 95207
-
Chris Lattner authored
instead of textually. llvm-svn: 95206
-
Chris Lattner authored
of const ones. non-const ones aren't very useful, because you can't even, say, emit them. llvm-svn: 95205
-
Chris Lattner authored
add -filetype=null for performance testing and remove -filetype=dynlib, which isn't planned to be implemented. llvm-svn: 95202
-
Evan Cheng authored
llvm-svn: 95198
-
John McCall authored
as undefined. Fixes an assertion in APFloat::toString noticed by Dale. llvm-svn: 95196
-
Evan Cheng authored
Allow all types of callee's to be tail called. But avoid automatic tailcall if the callee is a result of bitcast to avoid losing necessary zext / sext etc. llvm-svn: 95195
-
Chris Lattner authored
.o files don't like that. llvm-svn: 95187
-
Chris Lattner authored
llvm-svn: 95186
-
Chris Lattner authored
llvm-svn: 95184
-
Dale Johannesen authored
llvm-svn: 95183
-
Chris Lattner authored
llvm-svn: 95181
-
Chris Lattner authored
llvm-svn: 95180
-
Chris Lattner authored
the streamer. Demo: $ cat t.ll define i32 @test() nounwind { ret i32 42 } $ llc t.ll -o - ... _test: movl $42, %eax ret $ llc t.ll -o t.o -filetype=obj $ otool -tv t.o t.o: (__TEXT,__text) section _test: 00000000 movl $0x0000002a,%eax 00000005 ret llvm-svn: 95179
-
Chris Lattner authored
the end of the instruction instead of expecting the caller to do it. This currently causes the asm-verbose instruction comments to be on the next line. llvm-svn: 95178
-
Chris Lattner authored
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp file. This allows elimination of the NO_ASM_WRITER_BOILERPLATE hack among other things. llvm-svn: 95177
-
Dale Johannesen authored
to have some problems anyway. llvm-svn: 95171
-
Bob Wilson authored
llvm-svn: 95170
-