| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
a given integer.
llvm-svn: 52839
|
| |
|
|
|
|
| |
thrash the heap with string stuff (e.g. utostr).
llvm-svn: 52838
|
| |
|
|
| |
llvm-svn: 52837
|
| |
|
|
| |
llvm-svn: 52836
|
| |
|
|
| |
llvm-svn: 52835
|
| |
|
|
|
|
|
| |
of a std::string. This avoids copying the string to the heap in common
cases. Patch by Pratik Solanki!
llvm-svn: 52834
|
| |
|
|
|
|
|
|
|
|
| |
instead of passing the name into the instruction ctors. Since most
instruction ctors take their name as an std::string, this avoids copying the
string to the heap and a malloc and free.
Patch by Pratik Solanki!
llvm-svn: 52832
|
| |
|
|
|
|
|
| |
Add two new file to codegen project (VS).
This unbreak the build for VS.
llvm-svn: 52831
|
| |
|
|
| |
llvm-svn: 52829
|
| |
|
|
|
|
| |
Patch by Gary Benson!
llvm-svn: 52828
|
| |
|
|
|
|
| |
syntax is AT&T.
llvm-svn: 52827
|
| |
|
|
| |
llvm-svn: 52826
|
| |
|
|
|
|
|
| |
warning when creating the archive (the warning
causes the test to fail).
llvm-svn: 52824
|
| |
|
|
|
|
| |
match normal naming scheme.
llvm-svn: 52820
|
| |
|
|
|
|
| |
This speeds up a particular testcase from 0.0302s to 0.0222s in LiveVariables.
llvm-svn: 52819
|
| |
|
|
|
|
|
|
| |
faster lookups.
This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++.
llvm-svn: 52818
|
| |
|
|
|
|
|
| |
tolerate a non-nul-terminated string, and handling a direct global
reference.
llvm-svn: 52813
|
| |
|
|
|
|
| |
global is constant already. No functionality change.
llvm-svn: 52812
|
| |
|
|
| |
llvm-svn: 52811
|
| |
|
|
| |
llvm-svn: 52810
|
| |
|
|
| |
llvm-svn: 52809
|
| |
|
|
| |
llvm-svn: 52808
|
| |
|
|
| |
llvm-svn: 52806
|
| |
|
|
|
|
|
|
| |
know that there aren't any.
This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s. Look for more improvements in this area soon!
llvm-svn: 52804
|
| |
|
|
|
|
|
| |
- Make sure that we're not recalculating the size of a vector
that never changes.
llvm-svn: 52803
|
| |
|
|
|
|
| |
some uses of std::vector, where it's return std::vector by value. Yuck!
llvm-svn: 52800
|
| |
|
|
| |
llvm-svn: 52797
|
| |
|
|
|
|
| |
multiple ModuleProviders, e.g. with the JIT.
llvm-svn: 52796
|
| |
|
|
| |
llvm-svn: 52795
|
| |
|
|
| |
llvm-svn: 52791
|
| |
|
|
|
|
| |
Analysis library.
llvm-svn: 52789
|
| |
|
|
|
|
| |
improves AsmPrinter runtime on instcombine from 0.3920s to 0.3836s.
llvm-svn: 52787
|
| |
|
|
|
|
| |
type legality. Thanks Duncan!
llvm-svn: 52786
|
| |
|
|
| |
llvm-svn: 52785
|
| |
|
|
| |
llvm-svn: 52784
|
| |
|
|
|
|
| |
Patch by Hasso Tepper!
llvm-svn: 52781
|
| |
|
|
| |
llvm-svn: 52780
|
| |
|
|
| |
llvm-svn: 52779
|
| |
|
|
| |
llvm-svn: 52775
|
| |
|
|
|
|
|
|
|
|
| |
This patch add supports for single architecture mach-o files (the current implementation only support Universal Binary), and solve the signature conflict between java class and Universal Binary magics.
Note that this function will always returned dynamic library for Universal Binaries (like the current implementation) because the binary type is not include in the file header."
Patch by Jean-Daniel Dupas!
llvm-svn: 52766
|
| |
|
|
| |
llvm-svn: 52763
|
| |
|
|
| |
llvm-svn: 52751
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
<16 x float> is 64-byte aligned (for some reason),
which gets us into the stack realignment code. The
computation changing FP-relative offsets to SP-relative
was broken, assiging a spill temp to a location
also used for parameter passing. This
fixes it by rounding up the stack frame to a multiple
of the largest alignment (I concluded it wasn't fixable
without doing this, but I'm not very sure.)
llvm-svn: 52750
|
| |
|
|
| |
llvm-svn: 52749
|
| |
|
|
|
|
|
|
|
| |
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
llvm-svn: 52748
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
change it to sint_to_fp on targets where that is cheaper (and
visaversa of course). This allows us to compile uint_to_fp to:
_test:
movl 4(%esp), %eax
shrl $23, %eax
cvtsi2ss %eax, %xmm0
movl 8(%esp), %eax
movss %xmm0, (%eax)
ret
instead of:
.align 3
LCPI1_0: ## double
.long 0 ## double least significant word 4.5036e+15
.long 1127219200 ## double most significant word 4.5036e+15
.text
.align 4,0x90
.globl _test
_test:
subl $12, %esp
movl 16(%esp), %eax
shrl $23, %eax
movl %eax, (%esp)
movl $1127219200, 4(%esp)
movsd (%esp), %xmm0
subsd LCPI1_0, %xmm0
cvtsd2ss %xmm0, %xmm0
movl 20(%esp), %eax
movss %xmm0, (%eax)
addl $12, %esp
ret
llvm-svn: 52747
|
| |
|
|
|
|
|
|
| |
the list to find it again later.
This speeds up live intervals from 0.37s to 0.30s on instcombine.
llvm-svn: 52745
|
| |
|
|
| |
llvm-svn: 52744
|
| |
|
|
|
|
|
|
| |
shift.
- Add a readme entry for a missing vector_shuffle optimization that results in
awful codegen.
llvm-svn: 52740
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For this it is convenient to permit floats to
be used with EXTRACT_ELEMENT, so I tweaked
things to allow that. I also added libcalls
for ppcf128 to i32 forms of FP_TO_XINT, since
they exist in libgcc and this case can certainly
occur (and does occur in the testsuite) - before
the i64 libcall was being used. Also, the
XINT_TO_FP result seemed to be wrong when
the argument is an i128: the wrong fudge
factor was added (the i32 and i64 cases were
handled directly, but the i128 code fell
through to some generic softening code which
seemed to think it was i64 to f32!). So I
fixed it by adding a fudge factor that I
found in my breakfast cereal.
llvm-svn: 52739
|