| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
PR6540: Set the newly introduced variables ENABLE_SHARED and
SHLIBPATH_VAR in lit.site.cfg not only in the autoconf build, but also
in a cmake one.
llvm-svn: 98171
|
|
|
|
| |
llvm-svn: 98169
|
|
|
|
|
|
|
| |
expression add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if all
operands are zero extended.
llvm-svn: 98168
|
|
|
|
| |
llvm-svn: 98167
|
|
|
|
|
|
|
| |
the "fp" register name is not valid on Darwin, and the "ip" register name was
broken for all ARM targets.
llvm-svn: 98166
|
|
|
|
| |
llvm-svn: 98164
|
|
|
|
|
|
| |
into a seperate function.
llvm-svn: 98162
|
|
|
|
| |
llvm-svn: 98158
|
|
|
|
|
|
| |
results are unused elsewhere.
llvm-svn: 98157
|
|
|
|
| |
llvm-svn: 98156
|
|
|
|
|
|
| |
I'll get this loop right yet.
llvm-svn: 98155
|
|
|
|
| |
llvm-svn: 98153
|
|
|
|
| |
llvm-svn: 98152
|
|
|
|
| |
llvm-svn: 98151
|
|
|
|
|
|
|
|
| |
directly to the maccu / maccs instructions. We handle this in
ExpandADDSUB since after type legalisation it is messy to
recognise these operations.
llvm-svn: 98150
|
|
|
|
| |
llvm-svn: 98148
|
|
|
|
|
|
|
| |
semantic instead of syntactic. This completes MCization of
darwin/x86[-64]!
llvm-svn: 98145
|
|
|
|
| |
llvm-svn: 98142
|
|
|
|
| |
llvm-svn: 98141
|
|
|
|
| |
llvm-svn: 98137
|
|
|
|
| |
llvm-svn: 98132
|
|
|
|
|
|
| |
for darwin/x86 to be completely mcized.
llvm-svn: 98130
|
|
|
|
| |
llvm-svn: 98125
|
|
|
|
| |
llvm-svn: 98124
|
|
|
|
| |
llvm-svn: 98122
|
|
|
|
|
|
|
|
|
|
|
| |
1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled.
2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure.
Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again.
Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64.
llvm-svn: 98121
|
|
|
|
|
|
| |
different.
llvm-svn: 98120
|
|
|
|
| |
llvm-svn: 98119
|
|
|
|
|
|
|
| |
Add a new GetOrCreateTemporarySymbol method and a version that
takes a twine.
llvm-svn: 98118
|
|
|
|
|
|
| |
dead IsPCRel argument.
llvm-svn: 98117
|
|
|
|
|
|
|
|
| |
need to be MCized, but the last debug info thing are LEB and
cygwin specific (which the MC api doesn't support yet) and
one specific form of EmitReference which I'll tackle next.
llvm-svn: 98116
|
|
|
|
|
|
|
|
| |
is external.
- I'm not sure why, but this is what 'as' does.
llvm-svn: 98115
|
|
|
|
| |
llvm-svn: 98109
|
|
|
|
| |
llvm-svn: 98108
|
|
|
|
| |
llvm-svn: 98107
|
|
|
|
| |
llvm-svn: 98106
|
|
|
|
|
|
|
|
|
|
|
| |
method. With this, comments should end up on the same lines as the .byte
directives (for example) and we now get no output with:
$ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose
woot.
llvm-svn: 98105
|
|
|
|
| |
llvm-svn: 98104
|
|
|
|
|
|
| |
They are lots of trouble, and they don't matter. This fixes PR6559.
llvm-svn: 98103
|
|
|
|
|
|
| |
off "EOL".
llvm-svn: 98102
|
|
|
|
|
|
|
| |
significant debug info testcases are now all going through
MCStreamer, though they print a lot of extraneous newlines to "O".
llvm-svn: 98101
|
|
|
|
|
|
| |
isDefined() works.
llvm-svn: 98100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Caller cost info would be reset everytime a callee was inlined. If the
caller has lots of calls and there is some mutual recursion going on, the
caller cost info could be calculated many times.
This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
small function calls.
This is a more conservative version of r98089 that doesn't break the clang
test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining
for constant folding.
llvm-svn: 98099
|
|
|
|
|
|
| |
only" so they don't get selected by the asm matcher.
llvm-svn: 98098
|
|
|
|
|
|
| |
only" so they don't get selected by the asm matcher.
llvm-svn: 98097
|
|
|
|
|
|
|
| |
eliminate this problem. This will hopefully let us make progress on Linux
bootstrapping.
llvm-svn: 98095
|
|
|
|
| |
llvm-svn: 98094
|
|
|
|
|
|
|
|
|
|
|
| |
The Caller cost info would be reset everytime a callee was inlined. If the
caller has lots of calls and there is some mutual recursion going on, the
caller cost info could be calculated many times.
This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
small function calls.
llvm-svn: 98089
|
|
|
|
|
|
| |
can sometimes help reduce function size.
llvm-svn: 98088
|
|
|
|
|
|
|
|
|
|
| |
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g., whether the value is
stack-pointer relative or frame-pointer relative).
No functionality change.
llvm-svn: 98086
|