| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 101250
|
| |
|
|
| |
llvm-svn: 101248
|
| |
|
|
|
|
| |
incompatibility with some clients covered by the buildbots, such as llvm-gcc.
llvm-svn: 101237
|
| |
|
|
| |
llvm-svn: 101233
|
| |
|
|
|
|
| |
have been removed in r101231.
llvm-svn: 101232
|
| |
|
|
| |
llvm-svn: 101231
|
| |
|
|
| |
llvm-svn: 101229
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
current PC. rdar://7834775
We now produce an identical .o file compared to the cctools
assembler for something like this:
_f0:
L0:
jmp L1
.long . - L0
L1:
jmp A
.long . - L1
.zerofill __DATA,_bss,A,0
llvm-svn: 101227
|
| |
|
|
| |
llvm-svn: 101223
|
| |
|
|
|
|
|
|
|
| |
it can check whether the visible direct callers are passing in parameters to
dead arguments and replace those with undef.
This reinstates r94322 with bugs fixed.
llvm-svn: 101213
|
| |
|
|
| |
llvm-svn: 101210
|
| |
|
|
| |
llvm-svn: 101206
|
| |
|
|
|
|
|
| |
involing getBFCInvMask() where lsb <= msb does not hold true, the disassembler
just returns false, instead of assert, to indicate disassembly error.
llvm-svn: 101205
|
| |
|
|
| |
llvm-svn: 101202
|
| |
|
|
|
|
|
| |
instruction encoding is encountered, we just return a NULL ARMBasicMCBuilder
instance and the client just returns false to indicate disassembly error.
llvm-svn: 101201
|
| |
|
|
|
|
|
| |
bit (we're not trying to build a shared library yet) and generating
the X86GenEDInfo.inc and ARMGenEDInfo.inc files as necessary.
llvm-svn: 101188
|
| |
|
|
| |
llvm-svn: 101183
|
| |
|
|
|
|
| |
such that the entire second half is in memory. Radar 7855014.
llvm-svn: 101181
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code. It used to #include the enhanced disassembly
information for the targets it supported straight
out of lib/Target/{X86,ARM,...} but now it uses a
new interface provided by MCDisassembler, and (so
far) implemented by X86 and ARM.
Also removed hacky #define-controlled initialization
of targets in edis. If clients only want edis to
initialize a limited set of targets, they can set
--enable-targets on the configure command line.
llvm-svn: 101179
|
| |
|
|
|
|
| |
instead of 7, because we are only looking for even rotate amount.
llvm-svn: 101172
|
| |
|
|
| |
llvm-svn: 101171
|
| |
|
|
| |
llvm-svn: 101170
|
| |
|
|
|
|
| |
register operands are all loop invariants, then it's safe to hoist it.
llvm-svn: 101167
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes it is desirable to sink instructions along a critical edge:
x = ...
if (a && b) ...
else use(x);
The 'a && b' condition creates a critical edge to the else block, but we still
want to sink the computation of x into the block. The else block is dominated by
the parent block, so we are not pushing instructions into new code paths.
llvm-svn: 101165
|
| |
|
|
|
|
| |
instruction being optimized. There is no need to --I which can deref off start of the BB.
llvm-svn: 101162
|
| |
|
|
|
|
| |
in a nightly tester.
llvm-svn: 101158
|
| |
|
|
|
|
| |
instructions with no source operands.
llvm-svn: 101154
|
| |
|
|
| |
llvm-svn: 101148
|
| |
|
|
|
|
|
|
| |
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein set.
llvm-svn: 101147
|
| |
|
|
|
|
| |
the rest of CodeGen.
llvm-svn: 101146
|
| |
|
|
| |
llvm-svn: 101145
|
| |
|
|
| |
llvm-svn: 101144
|
| |
|
|
| |
llvm-svn: 101143
|
| |
|
|
|
|
| |
that one operand is always greater than another.
llvm-svn: 101142
|
| |
|
|
| |
llvm-svn: 101141
|
| |
|
|
| |
llvm-svn: 101139
|
| |
|
|
| |
llvm-svn: 101138
|
| |
|
|
|
|
|
| |
We have some code in llvm and clang where a BumpPtrAllocator is declared in a
class but never used in the common case. Stop wasting memory there.
llvm-svn: 101130
|
| |
|
|
| |
llvm-svn: 101125
|
| |
|
|
| |
llvm-svn: 101117
|
| |
|
|
|
|
| |
patch by 'ether'.
llvm-svn: 101116
|
| |
|
|
|
|
|
| |
recognize all the valid rotated immediates. This fixes the disassembler
issue and will also help codegen for some unusual constant values.
llvm-svn: 101114
|
| |
|
|
|
|
|
|
|
|
|
|
| |
numerator is an induction variable. For example, with code like this:
for (i=0;i<n;++i)
x[i%n] = 0;
IndVarSimplify will now recognize that i is always less than n inside
the loop, and eliminate the remainder.
llvm-svn: 101113
|
| |
|
|
|
|
|
| |
Type::getInt{1,8,...}[Ptr]Ty, so code can consistently use the methods on Type
without occasionally needed to call IntegerType::get.
llvm-svn: 101111
|
| |
|
|
|
|
| |
patch by Sylvere Teissier!
llvm-svn: 101106
|
| |
|
|
| |
llvm-svn: 101086
|
| |
|
|
|
|
| |
relocation. rdar://7738756
llvm-svn: 101085
|
| |
|
|
|
|
|
| |
they're used a lot by getNodeForGEP, which can be called a lot.
This speeds up -iv-users by around 15% on several testcases.
llvm-svn: 101083
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have this situation:
jCC L1
jmp L2
L1:
...
L2:
...
We can get a small performance boost by emitting this instead:
jnCC L2
L1:
...
L2:
...
This testcase shows an example of this:
float func(float x, float y) {
double product = (double)x * y;
if (product == 0.0)
return product;
return product - 1.0;
}
llvm-svn: 101075
|
| |
|
|
| |
llvm-svn: 101074
|