| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
generic copy functions.
llvm-svn: 91872
|
| |
|
|
|
|
| |
X86 codegen that were causing circular symbol dependencies.
llvm-svn: 91871
|
| |
|
|
|
|
| |
a call. This speeds up memdep ~1.5%
llvm-svn: 91869
|
| |
|
|
| |
llvm-svn: 91866
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
get things like this out of the disassembler:
0x100000ecb: callq -96
instead of:
0x100000ecb: callq 4294967200
rdar://7491123
llvm-svn: 91864
|
| |
|
|
| |
llvm-svn: 91863
|
| |
|
|
|
|
| |
SDNodes. This time in the load/store and limited-precision code.
llvm-svn: 91860
|
| |
|
|
|
|
| |
This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals.
llvm-svn: 91859
|
| |
|
|
|
|
|
| |
assign the ordering when called. Combine some of the ordering assignments to
keep things simple.
llvm-svn: 91857
|
| |
|
|
| |
llvm-svn: 91853
|
| |
|
|
|
|
|
|
|
|
|
| |
load to avoid even messing around with SSAUpdate at all. In this case (which
is very common, we can just use the input value directly).
This speeds up GVN time on gcc.c-torture/20001226-1.c from 36.4s to 16.3s,
which still isn't great, but substantially better and this is a simple speedup
that applies to lots of different cases.
llvm-svn: 91851
|
| |
|
|
|
|
| |
orderings to values returned by getValue().
llvm-svn: 91850
|
| |
|
|
| |
llvm-svn: 91849
|
| |
|
|
|
|
| |
no functionality change.
llvm-svn: 91848
|
| |
|
|
|
|
| |
shuffle and insert vector.
llvm-svn: 91847
|
| |
|
|
| |
llvm-svn: 91846
|
| |
|
|
|
|
| |
- Modify the "dump" method to emit the order of an SDNode.
llvm-svn: 91845
|
| |
|
|
| |
llvm-svn: 91841
|
| |
|
|
|
|
| |
a lot of the branching instructions.
llvm-svn: 91838
|
| |
|
|
| |
llvm-svn: 91836
|
| |
|
|
| |
llvm-svn: 91834
|
| |
|
|
|
|
|
|
| |
two-element arrays. After restructuring the SROA code, it was not safe to
do this without adding more checking. It is not clear that this special-case
has really been useful, and removing this simplifies the code quite a bit.
llvm-svn: 91828
|
| |
|
|
|
|
|
|
|
|
| |
by allowing backends to override routines that will default
the JIT and Static code generation to an appropriate code model
for the architecture.
Should fix PR 5773.
llvm-svn: 91824
|
| |
|
|
| |
llvm-svn: 91823
|
| |
|
|
|
|
| |
the underlying PHI node insertion issue in SSAUpdate is fixed.
llvm-svn: 91821
|
| |
|
|
|
|
|
|
|
|
| |
'GetValueInMiddleOfBlock' case, instead of inserting
duplicates.
A similar fix is almost certainly needed by the machine-level
SSAUpdate implementation.
llvm-svn: 91820
|
| |
|
|
|
|
|
|
|
| |
implement some optimizations for MIN(MIN()) and MAX(MAX()) and
MIN(MAX()) etc. This substantially improves the code in PR5822 but
doesn't kick in much elsewhere. 2 max's were optimized in
pairlocalalign and one in smg2000.
llvm-svn: 91814
|
| |
|
|
|
|
|
|
|
|
|
| |
Use the presence of NSW/NUW to fold "icmp (x+cst), x" to a constant in
cases where it would otherwise be undefined behavior.
Surprisingly (to me at least), this triggers hundreds of the times in
a few benchmarks: lencode, ldecode, and 466.h264ref seem to *really*
like this.
llvm-svn: 91812
|
| |
|
|
|
|
|
| |
a bunch in lencode, ldecod, spass, 176.gcc, 252.eon, among others. It is
also the first part of PR5822
llvm-svn: 91811
|
| |
|
|
|
|
|
|
| |
cache a pointer as being unavailable due to phi trans in the
wrong place. This would cause later queries to fail even when
they didn't involve phi trans.
llvm-svn: 91787
|
| |
|
|
| |
llvm-svn: 91780
|
| |
|
|
| |
llvm-svn: 91778
|
| |
|
|
| |
llvm-svn: 91777
|
| |
|
|
|
|
| |
defines dprintf in stdio.h
llvm-svn: 91775
|
| |
|
|
|
|
| |
2. include standard asmbly headers in generated asmbly.
llvm-svn: 91768
|
| |
|
|
| |
llvm-svn: 91764
|
| |
|
|
|
|
|
|
| |
where instcombine would have to split a critical edge due to a
phi node of an invoke. Since instcombine can't change the CFG,
it has to bail out from doing the transformation.
llvm-svn: 91763
|
| |
|
|
|
|
|
|
|
|
| |
* change FindElementAndOffset to return a uint64_t instead of unsigned, and
to identify the type to be used for that result in a GEP instruction.
* move "isa<ConstantInt>" to be first in conditional.
* replace some dyn_casts with casts.
* add a comment about handling mem intrinsics.
llvm-svn: 91762
|
| |
|
|
| |
llvm-svn: 91754
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incarnations), integrated into the MC framework.
The disassembler is table-driven, using a custom TableGen backend to
generate hierarchical tables optimized for fast decode. The disassembler
consumes MemoryObjects and produces arrays of MCInsts, adhering to the
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).
The disassembler is documented in detail in
- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)
You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets. Please let me know if you encounter any problems
with it.
llvm-svn: 91749
|
| |
|
|
|
|
|
|
| |
with vcpp.
Based on patch by Michael Beck!
llvm-svn: 91745
|
| |
|
|
| |
llvm-svn: 91744
|
| |
|
|
| |
llvm-svn: 91742
|
| |
|
|
|
|
|
|
| |
it changes raw_fd_ostream::preferred_buffer_size to return zero on
a scary stat failure instead of setting the stream to an error state.
This method really should not mutate the stream.
llvm-svn: 91740
|
| |
|
|
| |
llvm-svn: 91736
|
| |
|
|
|
|
| |
the templates in TypesContext.h can find them. Caught by clang++.
llvm-svn: 91735
|
| |
|
|
| |
llvm-svn: 91729
|
| |
|
|
|
|
|
|
|
|
|
| |
- Move DisableScheduling flag into TargetOption.h
- Move SDNodeOrdering into its own header file. Give it a minimal interface that
doesn't conflate construction with storage.
- Move assigning the ordering into the SelectionDAGBuilder.
This isn't used yet, so there should be no functional changes.
llvm-svn: 91727
|
| |
|
|
| |
llvm-svn: 91722
|
| |
|
|
| |
llvm-svn: 91717
|