| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 91776
|
| |
|
|
|
|
| |
defines dprintf in stdio.h
llvm-svn: 91775
|
| |
|
|
| |
llvm-svn: 91774
|
| |
|
|
| |
llvm-svn: 91773
|
| |
|
|
|
|
| |
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: 91757
|
| |
|
|
| |
llvm-svn: 91756
|
| |
|
|
| |
llvm-svn: 91754
|
| |
|
|
| |
llvm-svn: 91752
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 91743
|
| |
|
|
| |
llvm-svn: 91742
|
| |
|
|
| |
llvm-svn: 91741
|
| |
|
|
|
|
|
|
| |
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: 91732
|
| |
|
|
| |
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: 91718
|
| |
|
|
| |
llvm-svn: 91717
|
| |
|
|
| |
llvm-svn: 91715
|
| |
|
|
|
|
| |
debugging some leaks (PR5770 in particular).
llvm-svn: 91713
|
| |
|
|
|
|
|
| |
bootstrap. This also replaces the WeakVH references that Chris objected to
with normal Value references.
llvm-svn: 91711
|
| |
|
|
| |
llvm-svn: 91709
|
| |
|
|
|
|
|
|
|
|
|
| |
- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
llvm-svn: 91708
|
| |
|
|
| |
llvm-svn: 91706
|
| |
|
|
|
|
| |
associative either.
llvm-svn: 91701
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
MI was not being used but it was also not being deleted, so it was kept in the garbage list. The memory itself was freed once the function code gen was done.
Once in a while the codegen of another function would create an instruction on the same address. Adding it to the garbage group would work once, but when another pointer was added it would cause an assert as "Cache" was about to be pushed to Ts.
For a patch that make us detect problems like this earlier, take a look at
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091214/092758.html
With that patch we assert as soon and the new instruction is added to the garbage set.
llvm-svn: 91691
|
| |
|
|
|
|
| |
Patch contributed by Ken Werner of IBM!
llvm-svn: 91681
|
| |
|
|
|
|
| |
Patch contributed by Ken Werner of IBM!
llvm-svn: 91680
|
| |
|
|
|
|
| |
This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"])
llvm-svn: 91679
|
| |
|
|
|
|
| |
multiple uses. (The construct in question was found in gcc.)
llvm-svn: 91675
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
be non-optimal. To be precise, we should avoid folding loads if the instructions
only update part of the destination register, and the non-updated part is not
needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks
the partial register dependency and it can improve performance. e.g.
movss (%rdi), %xmm0
cvtss2sd %xmm0, %xmm0
instead of
cvtss2sd (%rdi), %xmm0
An alternative method to break dependency is to clear the register first. e.g.
xorps %xmm0, %xmm0
cvtss2sd (%rdi), %xmm0
llvm-svn: 91672
|
| |
|
|
|
|
| |
is not reassociative.
llvm-svn: 91667
|
| |
|
|
| |
llvm-svn: 91666
|
| |
|
|
| |
llvm-svn: 91664
|
| |
|
|
|
|
| |
Integer negation only overflows with INT_MIN, but that's an important case.
llvm-svn: 91662
|
| |
|
|
| |
llvm-svn: 91659
|
| |
|
|
| |
llvm-svn: 91657
|
| |
|
|
| |
llvm-svn: 91656
|
| |
|
|
| |
llvm-svn: 91655
|
| |
|
|
|
|
|
|
| |
contains another loop, or an instruction. The loop form is
substantially more efficient on large loops than the typical
code it replaces.
llvm-svn: 91654
|
| |
|
|
| |
llvm-svn: 91653
|