| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 74377
|
|
|
|
|
|
| |
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray
llvm-svn: 72631
|
|
|
|
|
|
|
| |
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
|
|
|
|
|
|
|
|
|
|
|
|
| |
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
|
|
|
|
| |
llvm-svn: 70275
|
|
|
|
|
|
|
|
|
|
|
| |
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...
llvm-svn: 70270
|
|
|
|
|
|
| |
default to verbose.
llvm-svn: 67668
|
|
|
|
|
|
|
|
|
|
|
|
| |
them are generic changes.
- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.
- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.
llvm-svn: 65379
|
|
|
|
| |
llvm-svn: 64150
|
|
|
|
|
|
|
|
|
| |
require RIP-relative addressing and use it to fix a bug
in X86FastISel in x86-64 PIC mode, where it was trying to
use base/index registers with RIP-relative addresses. This
fixes a bunch of x86-64 testsuite failures.
llvm-svn: 56676
|
|
|
|
| |
llvm-svn: 55092
|
|
|
|
|
|
| |
users not to link it in (use 'x86codegen' llvm-config arg for this)
llvm-svn: 54886
|
|
|
|
|
|
|
| |
This eliminates the need for several awkward casts, including
the last dynamic_cast under lib/Target.
llvm-svn: 51091
|
|
|
|
| |
llvm-svn: 50166
|
|
|
|
|
|
|
|
| |
that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.
llvm-svn: 48256
|
|
|
|
| |
llvm-svn: 47736
|
|
|
|
|
|
| |
16-byte boundaries.
llvm-svn: 47703
|
|
|
|
| |
llvm-svn: 46930
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45313
|
|
|
|
| |
llvm-svn: 40123
|
|
|
|
|
|
|
|
| |
definition of it into the CodeGen library. This is so that a backend doesn't
necessarily add in these writers if it doesn't use them (like in the lli
program).
llvm-svn: 34034
|
|
|
|
| |
llvm-svn: 33574
|
|
|
|
| |
llvm-svn: 33298
|
|
|
|
| |
llvm-svn: 33291
|
|
|
|
| |
llvm-svn: 30177
|
|
|
|
|
|
|
|
| |
2. Protect and outline createTargetAsmInfo.
3. Misc. kruft.
llvm-svn: 30169
|
|
|
|
| |
llvm-svn: 30162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
output, move all this to common code, and give targets hooks they can
implement.
3. Commonalize the target population stuff between file emission and JIT
emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
paves the way for "fast -O0" stuff in the CFE later, and now LLC could
lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
which is now orthogonal to the fact that JIT'ing is being done.
llvm-svn: 30081
|
|
|
|
| |
llvm-svn: 28574
|
|
|
|
| |
llvm-svn: 28266
|
|
|
|
|
|
|
| |
TargetData.h. This should make recompiles a bit faster with my current
TargetData tinkering.
llvm-svn: 28238
|
|
|
|
|
|
|
|
| |
target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.
This fixes PR 759.
llvm-svn: 28074
|
|
|
|
|
|
| |
Make the CBE and V9 backends create their own, since they're the only ones that use it.
llvm-svn: 26974
|
|
|
|
| |
llvm-svn: 26742
|
|
|
|
|
|
| |
quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build.
llvm-svn: 24233
|
|
|
|
|
|
|
|
| |
2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
llvm-svn: 23192
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the X86 Subtarget.
This consolidates the checks for target triple, and setting options based
on target triple into one place. This allows us to convert the asm printer
and isel over from being littered with "forDarwin", "forCygwin", etc. into
just having the appropriate flags for each subtarget feature controlling
the code for that feature.
This patch also implements indirect external and weak references in the
X86 pattern isel, for darwin. Next up is to convert over the asm printers
to use this new interface.
llvm-svn: 22389
|
|
|
|
|
|
| |
interface.
llvm-svn: 22282
|
|
|
|
|
|
| |
* Convert tabs to spaces
llvm-svn: 21426
|
|
|
|
|
|
| |
hold your nose!)
llvm-svn: 17869
|
|
|
|
| |
llvm-svn: 14745
|
|
|
|
| |
llvm-svn: 13952
|
|
|
|
| |
llvm-svn: 12252
|
|
|
|
|
|
|
|
|
| |
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.
llvm-svn: 12043
|
|
|
|
|
|
| |
implementation from the TargetMachine directly.
llvm-svn: 10636
|
|
|
|
| |
llvm-svn: 10629
|
|
|
|
| |
llvm-svn: 10542
|
|
|
|
|
|
| |
namespacification.
llvm-svn: 10430
|
|
|
|
| |
llvm-svn: 9903
|