- Jul 08, 2011
-
-
Evan Cheng authored
- Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
-
- Jul 06, 2011
-
-
Evan Cheng authored
llvm-svn: 134525
-
Dan Gohman authored
extension points to be used by clang. llvm-svn: 134444
-
- Jul 04, 2011
-
-
Rafael Espindola authored
This fixes the issue noted in PR10251 where early tail dup of bbs with indirectbr would cause a bb to be duplicated into a loop preheader and then into its predecessors, creating phi nodes with identical operands just before register allocation. This helps with jsinterp.o size (__TEXT goes from 163568 to 126656) and a bit with performance 1.005x faster on sunspider (jits still enabled). The result on webkit with the jit disabled is more significant: 1.021x faster. llvm-svn: 134372
-
- Jun 17, 2011
-
-
Bill Wendling authored
llvm-svn: 133292
-
Bill Wendling authored
The LSDA is a bit difficult for the non-initiated to read. Even with comments, it's not always clear what's going on. This wraps the ASM streamer in a class that retains the LSDA and then emits a human-readable description of what's going on in it. So instead of having to make sense of: Lexception1: .byte 255 .byte 155 .byte 168 .space 1 .byte 3 .byte 26 Lset0 = Ltmp7-Leh_func_begin1 .long Lset0 Lset1 = Ltmp812-Ltmp7 .long Lset1 Lset2 = Ltmp913-Leh_func_begin1 .long Lset2 .byte 3 Lset3 = Ltmp812-Leh_func_begin1 .long Lset3 Lset4 = Leh_func_end1-Ltmp812 .long Lset4 .long 0 .byte 0 .byte 1 .byte 0 .byte 2 .byte 125 .long __ZTIi@GOTPCREL+4 .long __ZTIPKc@GOTPCREL+4 you can read this instead: ## Exception Handling Table: Lexception1 ## @LPStart Encoding: omit ## @TType Encoding: indirect pcrel sdata4 ## @TType Base: 40 bytes ## @CallSite Encoding: udata4 ## @Action Table Size: 26 bytes ## Action 1: ## A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception. ## For type(s): __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4 ## Action 2: ## A throw between Ltmp812 and Leh_func_end1 does not have a landing pad. llvm-svn: 133286
-
- Jun 16, 2011
-
-
John McCall authored
llvm-svn: 133108
-
- May 28, 2011
-
-
Charles Davis authored
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports hardly anything else at this point! llvm-svn: 132234
-
- May 22, 2011
-
-
Chris Lattner authored
should eventually convert to PMBuilder, but I don't plan to do this. llvm-svn: 131819
-
- May 06, 2011
-
-
Rafael Espindola authored
llvm-svn: 130959
-
- Apr 30, 2011
-
-
Rafael Espindola authored
the final assembly. It is the same technique used when targeting assemblers that don't support .loc. llvm-svn: 130587
-
- Mar 29, 2011
-
-
Daniel Dunbar authored
integrated-as. llvm-svn: 128431
-
- Mar 21, 2011
-
-
Bill Wendling authored
the alias of an InstAlias instead of the thing being aliased. Because we need to know the features that are valid for an InstAlias. This is part of a work-in-progress. llvm-svn: 127986
-
- Mar 18, 2011
-
-
Jim Grosbach authored
Proof-of-concept code that code-gens a module to an in-memory MachO object. This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld for similarly conceptual work for that part) which will take the compiled object and link it together with the rest of the system, providing back to the JIT a table of available symbols which will be used to respond to the getPointerTo*() queries. llvm-svn: 127916
-
- Mar 05, 2011
-
-
Anton Korobeynikov authored
llvm-svn: 127099
-
- Feb 28, 2011
-
-
Dan Gohman authored
llvm-svn: 126671
-
- Jan 23, 2011
-
-
Rafael Espindola authored
llvm-svn: 124077
-
- Jan 14, 2011
-
-
Anton Korobeynikov authored
Add a possibility to switch between CFI directives- and table-based frame description emission. Currently all the backends use table-based stuff. llvm-svn: 123476
-
- Dec 18, 2010
-
-
Jakob Stoklund Olesen authored
createMachineVerifierPass and MachineFunction::verify. The banner is printed before the machine code dump, just like the printer pass. llvm-svn: 122113
-
- Dec 16, 2010
-
-
Daniel Dunbar authored
- Treaty talks on the non-proliferation of MC objects broke down. llvm-svn: 121949
-
- Dec 10, 2010
-
-
Rafael Espindola authored
llvm-svn: 121471
-
Rafael Espindola authored
llvm-svn: 121461
-
Rafael Espindola authored
f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
-
- Nov 19, 2010
-
-
Rafael Espindola authored
MCStreamer instead of just MCObjectStreamer. Address changes cannot be as efficient as we have to use DW_LNE_set_addres, but at least most of the logic is shared. This will be used so that, with CodeGen still using EmitDwarfLocDirective, llvm-gcc is able to produce debug_line sections without needing an assembler that supports .loc. llvm-svn: 119777
-
- Nov 18, 2010
-
-
Dan Gohman authored
llvm-svn: 119717
-
- Nov 17, 2010
-
-
Evan Cheng authored
and xor. The 32-bit move immediates can be hoisted out of loops by machine LICM but the isel hacks were preventing them. Instead, let peephole optimization pass recognize registers that are defined by immediates and the ARM target hook will fold the immediates in. Other changes include 1) do not fold and / xor into cmp to isel TST / TEQ instructions if there are multiple uses. This happens when the 'and' is live out, machine sink would have sinked the computation and that ends up pessimizing code. The peephole pass would recognize situations where the 'and' can be toggled to define CPSR and eliminate the comparison anyway. 2) Move peephole pass to after machine LICM, sink, and CSE to avoid blocking important optimizations. rdar://8663787, rdar://8241368 llvm-svn: 119548
-
- Nov 16, 2010
-
-
Dan Gohman authored
easier to debug, and to avoid complications when the CFG changes in the middle of the instruction selection process. llvm-svn: 119382
-
- Nov 08, 2010
-
-
Che-Liang Chiou authored
llvm-svn: 118394
-
- Oct 18, 2010
-
-
Dan Gohman authored
is currently inert by default. llvm-svn: 116732
-
Dan Gohman authored
does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias. Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. llvm-svn: 116720
-
- Oct 08, 2010
-
-
Rafael Espindola authored
are easier to diff with those produced by llvm-mc. llvm-svn: 116095
-
- Aug 31, 2010
-
-
Duncan Sands authored
any more. I plan to reimplement alloca promotion using SSAUpdater later. It looks like Bill's URoR logic really always needs domtree, so the pass now always asks for domtree info. llvm-svn: 112597
-
- Aug 24, 2010
-
-
Jim Grosbach authored
For now it's still a command line option, but the interface to the generic code doesn't need to know that. llvm-svn: 111942
-
- Aug 14, 2010
-
-
Jim Grosbach authored
experimental pass that allocates locals relative to one another before register allocation and then assigns them to actual stack slots as a block later in PEI. This will eventually allow targets with limited index offset range to allocate additional base registers (not just FP and SP) to more efficiently reference locals, as well as handle situations where locals cannot be referenced via SP or FP at all (dynamic stack realignment together with variable sized objects, for example). It's currently incomplete and almost certainly buggy. Work in progress. Disabled by default and gated via the -enable-local-stack-alloc command line option. rdar://8277890 llvm-svn: 111059
-
- Aug 13, 2010
-
-
Jim Grosbach authored
llvm-svn: 111019
-
- Aug 10, 2010
-
-
Bill Wendling authored
pass. This pass should expand with all of the small, fine-grained optimization passes to reduce compile time and increase happiment. llvm-svn: 110627
-
- Aug 06, 2010
-
-
Bill Wendling authored
This pass tries to remove comparison instructions when possible. For instance, if you have this code: sub r1, 1 cmp r1, 0 bz L1 and "sub" either sets the same flag as the "cmp" instruction or could be converted to set the same flag, then we can eliminate the "cmp" instruction all together. This is a important for ARM where the ALU instructions could set the CPSR flag, but need a special suffix ('s') to do so. llvm-svn: 110423
-
- Aug 05, 2010
-
-
Jakob Stoklund Olesen authored
be killed before being redefined. These checks are usually disabled, and usually fail when enabled. We de facto allow live registers to be redefined without a kill, the corresponding assertions in RegScavenger were removed long ago. llvm-svn: 110362
-
Bill Wendling authored
because it could create such things. This fixes a MingW buildbot test failure. llvm-svn: 110279
-
- Aug 04, 2010
-
-
Bill Wendling authored
llvm-svn: 110248
-