- Apr 13, 2011
-
-
Jakob Stoklund Olesen authored
The ARMARM specifies these instructions as unpredictable when storing the writeback register. This shouldn't affect code generation much since storing a pointer to itself is quite rare. llvm-svn: 129409
-
Eric Christopher authored
registers for fast allocation. Fixes rdar://9207598 llvm-svn: 129408
-
Devang Patel authored
llvm-svn: 129407
-
Devang Patel authored
llvm-svn: 129406
-
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
-
John McCall authored
because the result is ignored. The particular example here is with property l-values, but there could be all sorts of lovely casts that this isn't safe for. Sink the check into the one case that seems to actually be capable of honoring this. llvm-svn: 129397
-
- Apr 12, 2011
-
-
Daniel Dunbar authored
modify the driver planning. llvm-svn: 129396
-
Ted Kremenek authored
llvm-svn: 129395
-
Ted Kremenek authored
Fix another IdempotentOperationsChecker corner case when determining if an active block on the worklist impacts the results of the check. llvm-svn: 129394
-
Ted Kremenek authored
llvm-svn: 129393
-
Ted Kremenek authored
llvm-svn: 129392
-
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
-
Nick Kledzik authored
llvm-svn: 129389
-
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
-
Ted Kremenek authored
ArrayBoundCheckerV2: don't arbitrarily warn about indexing before the 0-index of a symbolic region. In many cases that isn't really the base offset. llvm-svn: 129366
-
Johnny Chen authored
llvm-svn: 129365
-
Lenny Maiorani authored
This patch adds modeling of strcmp() to the CString checker. Validates inputs are not NULL and are real C strings, then does the comparison and binds the proper return value. Unit tests included. llvm-svn: 129364
-
Fariborz Jahanian authored
the initialized's protocol and yet clang warns. objective-c issue, // rdar://9267196 llvm-svn: 129363
-
Rafael Espindola authored
llvm-svn: 129362
-