| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
though it
compiles on OS X. I'll ensure that it builds on a linux machine before committing
again.
llvm-svn: 116991
|
| |
|
|
| |
llvm-svn: 116987
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. A delay slot filler that searches for valid instructions
to fill the delay slot with. Previously NOPs would always
be inserted into delay slots.
2. Support for MC based instruction printer added.
3. Support for MC based machine code generation and ELF
file generation. ELF file generation does not yet
completely work as much of the ELF support infrastructure
is still x86/x86-64 specific.
4. General clean up of the MBlaze backend code. Much of the
tablegen code has been cleanup and simplified.
Bug Fixes:
1. Removed duplicate periods from subtarget feature descriptions.
2. Many of the instructions had bad machine code information
in the tablegen files. Much of this has been fixed.
llvm-svn: 116986
|
| |
|
|
| |
llvm-svn: 116984
|
| |
|
|
|
|
| |
VFP registers.
llvm-svn: 116983
|
| |
|
|
| |
llvm-svn: 116981
|
| |
|
|
|
|
|
|
| |
floating point args.
This should be the minimum set of functions that could possibly need it.
llvm-svn: 116978
|
| |
|
|
| |
llvm-svn: 116977
|
| |
|
|
| |
llvm-svn: 116972
|
| |
|
|
|
|
| |
extension register.
llvm-svn: 116970
|
| |
|
|
|
|
| |
registers.
llvm-svn: 116961
|
| |
|
|
| |
llvm-svn: 116955
|
| |
|
|
|
|
|
| |
types are no longer Legal on X86, we don't need it.
No functional change. 8499854.
llvm-svn: 116947
|
| |
|
|
| |
llvm-svn: 116932
|
| |
|
|
|
|
| |
#includes in the process.
llvm-svn: 116919
|
| |
|
|
| |
llvm-svn: 116915
|
| |
|
|
| |
llvm-svn: 116897
|
| |
|
|
| |
llvm-svn: 116886
|
| |
|
|
| |
llvm-svn: 116883
|
| |
|
|
|
|
|
| |
setup they require. Use this for ARM/Darwin to rematerialize the base
pointer from the frame pointer when required. rdar://8564268
llvm-svn: 116879
|
| |
|
|
| |
llvm-svn: 116863
|
| |
|
|
|
|
|
| |
integers by default, and remove the controlling flag, now
that LICM will hoist such vdup's. 8003375.
llvm-svn: 116852
|
| |
|
|
|
|
|
| |
erased the instruction during LICM so UpdateRegPressureAfter() should not
reference it afterwards.
llvm-svn: 116845
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
llvm-svn: 116820
|
| |
|
|
|
|
| |
is", which breaks some nightly tests.
llvm-svn: 116816
|
| |
|
|
| |
llvm-svn: 116805
|
| |
|
|
| |
llvm-svn: 116801
|
| |
|
|
| |
llvm-svn: 116800
|
| |
|
|
|
|
|
|
|
|
|
| |
"long latency" enough to hoist even if it may increase spilling. Reloading
a value from spill slot is often cheaper than performing an expensive
computation in the loop. For X86, that means machine LICM will hoist
SQRT, DIV, etc. ARM will be somewhat aggressive with VFP and NEON
instructions.
- Enable register pressure aware machine LICM by default.
llvm-svn: 116781
|
| |
|
|
| |
llvm-svn: 116776
|
| |
|
|
|
|
|
| |
word forms and suffixed versions to match the darwin assembler in 32-bit and
64-bit modes. This is again for use just with assembly source for llvm-mc .
llvm-svn: 116773
|
| |
|
|
| |
llvm-svn: 116768
|
| |
|
|
| |
llvm-svn: 116762
|
| |
|
|
| |
llvm-svn: 116750
|
| |
|
|
|
|
| |
base register is available. rdar://8525298
llvm-svn: 116729
|
| |
|
|
| |
llvm-svn: 116728
|
| |
|
|
|
|
|
|
|
|
| |
be more complete. These are only expected to be used by llvm-mc with assembly
source so there is no pattern, [], in the .td files. Most are being added to
X86InstrInfo.td as Chris suggested and only comments about register uses are
added. Suggestions welcome on the .td changes as I'm not sure on every detail
of the x86 records. More missing instructions will be coming.
llvm-svn: 116716
|
| |
|
|
|
|
|
|
| |
offset for stack references. Make sure we take that into account when
deciding whether to reserver an emergency spill slot for the register
scavenger. rdar://8559625
llvm-svn: 116714
|
| |
|
|
| |
llvm-svn: 116712
|
| |
|
|
|
|
|
|
| |
The old algorithm inserted a 'rotqmbyi' instruction which was
both redundant and wrong - it made shufb select bytes from the
wrong end of the input quad.
llvm-svn: 116701
|
| |
|
|
|
|
| |
working just fine.
llvm-svn: 116698
|
| |
|
|
| |
llvm-svn: 116694
|
| |
|
|
|
|
| |
special case handling for ARM::SP.
llvm-svn: 116688
|
| |
|
|
| |
llvm-svn: 116683
|
| |
|
|
| |
llvm-svn: 116681
|
| |
|
|
| |
llvm-svn: 116680
|
| |
|
|
| |
llvm-svn: 116679
|
| |
|
|
|
|
| |
more in the post-passes.
llvm-svn: 116678
|
| |
|
|
|
|
|
|
|
|
|
|
| |
single object format can be shared.
This also adds support for
mov zed+(bar-foo), %eax
on ELF and COFF targets.
llvm-svn: 116675
|
| |
|
|
|
|
| |
if any floating point arguments are passed to an external function.
llvm-svn: 116665
|