- Oct 01, 2010
-
-
Chris Lattner authored
llvm-svn: 115300
-
Chris Lattner authored
llvm-svn: 115296
-
-
Dale Johannesen authored
llvm-svn: 115251
-
Eric Christopher authored
SingleSource/Regression/C/casts.c. llvm-svn: 115246
-
Dale Johannesen authored
The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
-
Daniel Dunbar authored
false positive, at least on Darwin. I haven't filed this, but you can feel free. llvm-svn: 115242
-
Owen Anderson authored
conversion heuristics to the old-style ones. llvm-svn: 115239
-
Jim Grosbach authored
use MC instructions in the printInstruction() method via the tablegen flag for it rather than a #define prior to including the autogenerated bits. llvm-svn: 115238
-
Eric Christopher authored
llvm-svn: 115225
-
- Sep 30, 2010
-
-
Nick Lewycky authored
llvm-svn: 115206
-
Owen Anderson authored
We do want to allow LoadPRE to perform LICM-like transformations: we already consider PHI nodes to be negligible for code size (making this transform code size neutral), and it allows us to hoist values out of loops, which is always a good thing. llvm-svn: 115205
-
Jakob Stoklund Olesen authored
The bug that broke i386 linux has been fixed in r115191. llvm-svn: 115204
-
Eric Christopher authored
llvm-svn: 115203
-
Talin authored
llvm-svn: 115198
-
Rafael Espindola authored
fixes some cases where we were producing relocations with at symbol that should use a section instead. llvm-svn: 115194
-
Jim Grosbach authored
llvm-svn: 115193
-
Jakob Stoklund Olesen authored
edited during emission. If the basic block ends in a switch that gets lowered to a jump table, any phis at the default edge were getting updated wrong. The jump table data structure keeps a pointer to the header blocks that wasn't getting updated after the MBB is split. This bug was exposed on 32-bit Linux when disabling critical edge splitting in codegen prepare. The fix is to uipdate stale MBB pointers whenever a block is split during emission. llvm-svn: 115191
-
Jim Grosbach authored
vs. ELF llvm-svn: 115180
-
Jim Grosbach authored
llvm-svn: 115176
-
Chris Lattner authored
llvm-svn: 115168
-
Jim Grosbach authored
llvm-svn: 115160
-
Kevin Enderby authored
and output the dwarf line number tables. This contains the code to emit and encode the dwarf line tables from the previously gathered information in the MCLineSection objects. This contains all the details to encode the line and address deltas into the dwarf line table. To do this an MCDwarfLineAddrFragment has been added. Also this moves the interface code out of Mach-O streamer into MCDwarf so it should be useable by other object file formats. There is now one call to be made from an MCObjectStreamer EmitInstruction() method: MCLineEntry::Make(this, getCurrentSection()); to create a line entry after each instruction is assembled. And one call call to be made from an MCObjectStreamer Finish() method: MCDwarfFileTable::Emit(this, DwarfLineSection); when getContext().hasDwarfFiles() is true and is passed a object file specific MCSection where to emit the dwarf file and the line tables. This appears to now be correct for 32-bit targets, at least x86. But the relocation entries for 64-bit Darwin needs some further work which is next up to work on. So for now the 64-bit Mach-O target does not output the dwarf file and line tables. llvm-svn: 115157
-
Chris Lattner authored
llvm-svn: 115156
-
Kevin Enderby authored
if we are given a Layout object, even in cases when the value is not fixed. This will be needed by the final patch for the dwarf .loc support to size a new MCDwarf fragment needed to build and emit dwarf line number tables. llvm-svn: 115155
-
Chris Lattner authored
llvm-svn: 115154
-
Kevin Enderby authored
for the dwarf .loc support to emit dwarf line number tables. llvm-svn: 115153
-
Benjamin Kramer authored
reduces the amount of malloc calls and may reduce memory overhead. Some numbers: ASTContext stats, clang -cc1 -disable-free -fsyntax-only Cocoa_h.m without dynamic growth | with dynamic growth Number of memory regions: 3158 | Number of memory regions: 432 Bytes used: 12333185 | Bytes used: 12333185 Bytes allocated: 12935168 | Bytes allocated: 12800000 Bytes wasted: 601983 (includes alignment, etc) | Bytes wasted: 466815 (includes alignment, etc) ASTContext stats, clang -cc1 -disable-free -fsyntax-only on clang's ASTReader.cpp without dynamic growth | with dynamic growth Number of memory regions: 10987 | Number of memory regions: 551 Bytes used: 42910356 | Bytes used: 42910356 Bytes allocated: 45002752 | Bytes allocated: 44711936 Bytes wasted: 2092396 (includes alignment, etc) | Bytes wasted: 1801580 (includes alignment, etc) llvm-svn: 115151
-
Jim Grosbach authored
llvm-svn: 115149
-
Jason W Kim authored
llvm-svn: 115147
-
Benjamin Kramer authored
Tighten up prototype verification of strchr and strrchr to avoid a crash in the very unlikely case that someone passes an integer > i64 to strchr. llvm-svn: 115144
-
Chandler Carruth authored
specifically assert on unexpected flags. llvm-svn: 115143
-
Jan Wen Voung authored
time. That way, the EntrySize field is initialized for other code paths, namely, the .ll -> .o code path. llvm-svn: 115141
-
Jim Grosbach authored
llvm-svn: 115136
-
Jim Grosbach authored
llvm-svn: 115135
-
Rafael Espindola authored
With this patch in movq $foo, foo(%rip) foo: .long foo We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the second one. llvm-svn: 115134
-
Jason W Kim authored
Small test for sanity check of resulting ARM .s file. Tested against -r115129. llvm-svn: 115133
-
Jan Wen Voung authored
constructing a section. Test for a few cases also included. llvm-svn: 115132
-
Rafael Espindola authored
resolved or not. Different object files have different restrictions and different native assemblers have different idiosyncrasies we want to emulate for now. Move the existing MachO logic to the new place and implement an ELF one that gets fixups to globals right. llvm-svn: 115131
-
Jim Grosbach authored
Now that the MC lowering handles the expansion of the pseudos, kill the horrible blobs of text. llvm-svn: 115130
-