- Dec 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 91764
-
Chris Lattner authored
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
-
Bob Wilson authored
* 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
-
Daniel Dunbar authored
llvm-svn: 91757
-
Daniel Dunbar authored
llvm-svn: 91756
-
Daniel Dunbar authored
llvm-svn: 91754
-
Douglas Gregor authored
llvm-svn: 91752
-
Sean Callanan authored
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
-
Anton Korobeynikov authored
Based on patch by Michael Beck! llvm-svn: 91745
-
Anton Korobeynikov authored
llvm-svn: 91744
-
Dan Gohman authored
llvm-svn: 91743
-
Dan Gohman authored
llvm-svn: 91742
-
Dan Gohman authored
llvm-svn: 91741
-
Chris Lattner authored
Make some methods const. The only interesting change here is that 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
-
John McCall authored
llvm-svn: 91736
-
John McCall authored
the templates in TypesContext.h can find them. Caught by clang++. llvm-svn: 91735
-
Bill Wendling authored
llvm-svn: 91732
-
Dan Gohman authored
llvm-svn: 91729
-
Bill Wendling authored
- 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
-
Dan Gohman authored
llvm-svn: 91722
-
- Dec 18, 2009
-
-
Eli Friedman authored
llvm-svn: 91718
-
Evan Cheng authored
llvm-svn: 91717
-
Eli Friedman authored
llvm-svn: 91715
-
Rafael Espindola authored
debugging some leaks (PR5770 in particular). llvm-svn: 91713
-
Bob Wilson authored
bootstrap. This also replaces the WeakVH references that Chris objected to with normal Value references. llvm-svn: 91711
-
Bob Wilson authored
llvm-svn: 91709
-
Victor Hernandez authored
- 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
-
Daniel Dunbar authored
llvm-svn: 91706
-
Dan Gohman authored
associative either. llvm-svn: 91701
-
Rafael Espindola authored
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
-
Tilmann Scheller authored
Patch contributed by Ken Werner of IBM! llvm-svn: 91681
-
Tilmann Scheller authored
Patch contributed by Ken Werner of IBM! llvm-svn: 91680
-
Mikhail Glushenkov authored
This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"]) llvm-svn: 91679
-
Eli Friedman authored
multiple uses. (The construct in question was found in gcc.) llvm-svn: 91675
-
Evan Cheng authored
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
-
Dan Gohman authored
is not reassociative. llvm-svn: 91667
-
Dan Gohman authored
llvm-svn: 91666
-
Dan Gohman authored
llvm-svn: 91664
-
Dan Gohman authored
Integer negation only overflows with INT_MIN, but that's an important case. llvm-svn: 91662
-
Dan Gohman authored
llvm-svn: 91659
-