- Apr 13, 2011
-
-
Devang Patel authored
llvm-svn: 129405
-
Dan Gohman authored
values are also transmitted through branches which cause side effects to be skipped altogether. llvm-svn: 129404
-
Bill Wendling authored
llvm-svn: 129403
-
Devang Patel authored
This mechanical patch moves type handling into CompileUnit from DwarfDebug. In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious. llvm-svn: 129402
-
Bill Wendling authored
Now that we have a first-class way to represent unaligned loads, the unaligned load intrinsics are superfluous. First part of <rdar://problem/8460511>. llvm-svn: 129401
-
Eric Christopher authored
llvm-svn: 129400
-
Oscar Fuentes authored
generators. It may improve robustness when testing from VS too. Based on a patch by David Neto! llvm-svn: 129398
-
- Apr 12, 2011
-
-
Johnny Chen authored
In addition, the base register is not rGPR, but GPR with th exception that: if n == 15 then UNPREDICTABLE rdar://problem/9273836 llvm-svn: 129391
-
Jakob Stoklund Olesen authored
Use a Bitvector instead, we didn't need the smaller memory footprint anyway. This makes the greedy register allocator 10% faster. llvm-svn: 129390
-
Jim Grosbach authored
Add handling for tracking the relocations on symbols and resolving them. Keep track of the relocations even after they are resolved so that if the RuntimeDyld client moves the object, it can update the address and any relocations to that object will be updated. For our trival object file load/run test harness (llvm-rtdyld), this enables relocations between functions located in the same object module. It should be trivially extendable to load multiple objects with mutual references. As a simple example, the following now works (running on x86_64 Darwin 10.6): $ cat t.c int bar() { return 65; } int main() { return bar(); } $ clang t.c -fno-asynchronous-unwind-tables -o t.o -c $ otool -vt t.o t.o: (__TEXT,__text) section _bar: 0000000000000000 pushq %rbp 0000000000000001 movq %rsp,%rbp 0000000000000004 movl $0x00000041,%eax 0000000000000009 popq %rbp 000000000000000a ret 000000000000000b nopl 0x00(%rax,%rax) _main: 0000000000000010 pushq %rbp 0000000000000011 movq %rsp,%rbp 0000000000000014 subq $0x10,%rsp 0000000000000018 movl $0x00000000,0xfc(%rbp) 000000000000001f callq 0x00000024 0000000000000024 addq $0x10,%rsp 0000000000000028 popq %rbp 0000000000000029 ret $ llvm-rtdyld t.o -debug-only=dyld ; echo $? Function sym: '_bar' @ 0 Function sym: '_main' @ 16 Extracting function: _bar from [0, 15] allocated to 0x100153000 Extracting function: _main from [16, 41] allocated to 0x100154000 Relocation at '_main' + 16 from '_bar(Word1: 0x2d000000) Resolving relocation at '_main' + 16 (0x100154010) from '_bar (0x100153000)(pcrel, type: 2, Size: 4). loaded '_main' at: 0x100154000 65 $ llvm-svn: 129388
-
Johnny Chen authored
rdar://problem/9269047 llvm-svn: 129387
-
Andrew Trick authored
llvm-svn: 129385
-
Nick Lewycky authored
specifier. llvm-svn: 129384
-
Andrew Trick authored
UnitsSharePred was a source of randomness in the scheduler: node priority depended on the queue data structure. I rewrote the recent VRegCycle heuristics to completely replace the old heuristic without any randomness. To make these heuristic adjustments to node latency work, I also needed to do something a little more reasonable with TokenFactor. I gave it zero latency to its consumers and always schedule it as low as possible. llvm-svn: 129383
-
Oscar Fuentes authored
Patch by arrowdodger! llvm-svn: 129381
-
Nick Lewycky authored
llvm-svn: 129380
-
Jakob Stoklund Olesen authored
This merges the behavior of splitSingleBlocks into splitAroundRegion, so the RS_Region and RS_Block register stages can be coalesced. That means the leftover intervals after region splitting go directly to spilling instead of a second pass of per-block splitting. llvm-svn: 129379
-
Rafael Espindola authored
llvm-svn: 129378
-
Johnny Chen authored
be specified as '1' (add = TRUE). Also add a utility function for Thumb2. llvm-svn: 129377
-
Jakob Stoklund Olesen authored
This makes it possible to target multiple registers in one pass. llvm-svn: 129374
-
Jakob Stoklund Olesen authored
llvm-svn: 129373
-
Devang Patel authored
llvm-svn: 129368
-
Devang Patel authored
llvm-svn: 129367
-
Johnny Chen authored
llvm-svn: 129365
-
Rafael Espindola authored
llvm-svn: 129362
-
Rafael Espindola authored
llvm-svn: 129361
-
Garrison Venn authored
llvm-svn: 129360
-
Cameron Zwarich authored
stores of arguments in the same cache line. This fixes the second half of <rdar://problem/8674845>. llvm-svn: 129345
-
NAKAMURA Takumi authored
llvm-svn: 129343
-
Nick Lewycky authored
Use debug info in the IR to find the directory/file:line:col. Each time that location changes, bump a counter. Unlike the existing profiling system, we don't try to look at argv[], and thusly don't require main() to be present in the IR. This matches GCC's technique where you specify the profiling flag when producing each .o file. The runtime library is minimal, currently just calling printf at program shutdown time. The API is designed to make it possible to emit GCOV data later on. llvm-svn: 129340
-
Nick Lewycky authored
llvm-svn: 129338
-
Eric Christopher authored
llvm-svn: 129334
-
Nick Lewycky authored
Also document that the global variables produced are mergable. llvm-svn: 129330
-
Jim Grosbach authored
llvm-svn: 129328
-
Johnny Chen authored
llvm-svn: 129327
-
Eric Christopher authored
test for invalid hexadecimals. llvm-svn: 129326
-
Johnny Chen authored
Encoding T1 (tBcc) if cond == '1110' then UNDEFINED; rdar://problem/9268681 llvm-svn: 129325
-
Dan Gohman authored
reassociation opportunities are exposed. This fixes a bug where the nested reassociation expects to be the IR to be consistent, but it isn't, because the outer reassociation has disconnected some of the operands. rdar://9167457 llvm-svn: 129324
-
Eric Christopher authored
llvm-svn: 129323
-
Eric Christopher authored
.long 80+08 go ahead and assume that if we've got an Error token that we handled it already. Otherwise if it's a token we can't handle then go ahead and return the default error. llvm-svn: 129322
-