| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
failure.
llvm-svn: 95294
|
|
|
|
|
|
| |
64-bit sparc codegen. Patch by Nathan Keynes!
llvm-svn: 95293
|
|
|
|
|
|
|
|
|
|
|
|
| |
"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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
than int. This will make it more convenient for LSR, which does
a lot of things with int64_t offsets.
llvm-svn: 95281
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 95272
|
|
|
|
|
|
|
| |
again, so it more or less handles long double.
Restore \n removed in latest MC frenzy.
llvm-svn: 95271
|
|
|
|
|
|
| |
that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated
llvm-svn: 95269
|
|
|
|
|
|
| |
particular size, we just don't know what the length is yet.
llvm-svn: 95266
|
|
|
|
|
|
|
|
| |
instructions with no operands. It can now handle
define void @test2() nounwind { ret void }
llvm-svn: 95261
|
|
|
|
| |
llvm-svn: 95260
|
|
|
|
|
|
| |
down a self-hosting issue.
llvm-svn: 95259
|
|
|
|
|
|
| |
-enable-new-x86-encoder until its stable.
llvm-svn: 95256
|
|
|
|
| |
llvm-svn: 95254
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 95242
|
|
|
|
| |
llvm-svn: 95240
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
output.
llvm-svn: 95227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
third stub case.
llvm-svn: 95209
|
|
|
|
| |
llvm-svn: 95208
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that llvm-mc -show-encoding prints like this:
hlt ## encoding: [0xf4]
instead of like this:
hlt
# encoding: [0xf4]
llvm-svn: 95207
|
|
|
|
|
|
| |
instead of textually.
llvm-svn: 95206
|
|
|
|
|
|
|
| |
of const ones. non-const ones aren't very useful, because you can't
even, say, emit them.
llvm-svn: 95205
|
|
|
|
|
|
|
| |
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.
llvm-svn: 95202
|
|
|
|
| |
llvm-svn: 95198
|
|
|
|
|
|
| |
as undefined. Fixes an assertion in APFloat::toString noticed by Dale.
llvm-svn: 95196
|
|
|
|
|
|
| |
if the callee is a result of bitcast to avoid losing necessary zext / sext etc.
llvm-svn: 95195
|
|
|
|
|
|
| |
.o files don't like that.
llvm-svn: 95187
|
|
|
|
| |
llvm-svn: 95186
|
|
|
|
| |
llvm-svn: 95184
|
|
|
|
| |
llvm-svn: 95183
|
|
|
|
| |
llvm-svn: 95181
|
|
|
|
| |
llvm-svn: 95180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
to have some problems anyway.
llvm-svn: 95171
|
|
|
|
| |
llvm-svn: 95170
|
|
|
|
| |
llvm-svn: 95168
|
|
|
|
|
|
|
|
|
| |
stderr if in filetype=obj mode. This is a hack, and will
live until dwarf emission and other random stuff that is
not yet going through MCStreamer is upgraded. It only
impacts filetype=obj mode.
llvm-svn: 95166
|
|
|
|
| |
llvm-svn: 95165
|
|
|
|
|
|
| |
of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless.
llvm-svn: 95163
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ cat t.ll
@g = global i32 42
$ llc t.ll -o t.o -filetype=obj
$ nm t.o
00000000 D _g
There is still a ton of work left. Instructions are not being encoded
yet apparently.
llvm-svn: 95162
|
|
|
|
|
|
| |
even when -disable-fp-elim is specified.
llvm-svn: 95161
|
|
|
|
| |
llvm-svn: 95160
|
|
|
|
| |
llvm-svn: 95159
|