| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Lincroft and Medfield.
llvm-svn: 156025
|
| |
|
|
| |
llvm-svn: 156023
|
| |
|
|
| |
llvm-svn: 156019
|
| |
|
|
|
|
| |
be used by clang-tblgen.
llvm-svn: 156000
|
| |
|
|
|
|
| |
by providing the latencies for the instructions in X86InstrFPStack.td.
llvm-svn: 155996
|
| |
|
|
|
|
|
|
| |
The commit is intended to fix rdar://10961709.
But it is the root cause of PR12720.
Revert it for now.
llvm-svn: 155992
|
| |
|
|
| |
llvm-svn: 155986
|
| |
|
|
|
|
|
| |
methods. Use a weak value handle to keep up with this.
PR12245
llvm-svn: 155984
|
| |
|
|
| |
llvm-svn: 155983
|
| |
|
|
|
|
| |
for AsmPrinter.
llvm-svn: 155982
|
| |
|
|
|
|
| |
the MachO spec.
llvm-svn: 155976
|
| |
|
|
| |
llvm-svn: 155960
|
| |
|
|
| |
llvm-svn: 155959
|
| |
|
|
| |
llvm-svn: 155957
|
| |
|
|
| |
llvm-svn: 155956
|
| |
|
|
|
|
| |
PR10799
llvm-svn: 155954
|
| |
|
|
| |
llvm-svn: 155947
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Aliases for adding a negative immediate when using an explicit 'w'
suffix. E.g.,
adds.w r2, #-16
adds.w r2, r2, #-16
addw r2, #-16
addw r2, #-16
addw r2, r2, #-16
rdar://11330769
llvm-svn: 155946
|
| |
|
|
|
|
|
|
|
|
| |
Expressions for movw/movt don't always have an :upper16: or :lower16:
on them and that's ok. When they don't, it's just a plain [0-65536]
immediate result, effectively the same as a :lower16: variant kind.
rdar://10550147
llvm-svn: 155941
|
| |
|
|
|
|
|
|
|
| |
in order to avoid assertion failures in the register scavenger. The assertion
failures were “Bad machine code: Using an undefined physical register” and
“Bad machine code: MBB exits via unconditional fall-through but its successor
differs from its CFG successor!”.
llvm-svn: 155930
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, an unsupported/unknown assembler directive issued a warning.
That's generally unsafe, and inconsistent with the behaviour of pretty
much every system assembler. Now that the MC assemblers are mature
enough to be the default on multiple targets, it's reasonable to
issue errors for these.
For target or platform directives that need to stay warnings, we
should add explicit handlers for them in, e.g., ELFAsmParser.cpp,
DarwinAsmParser.cpp, et. al., and issue the warning there.
rdar://9246275
llvm-svn: 155926
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The caller is already responsible for eating any additional input on the
line. Putting an additional EatToEndOfStatement() in ParseStatement()
causes an entire extra statement to be consumed when treating warnings
as errors. For example, test/MC/macros.s will assert() because the
.endmacro directive is missed as a result.
rdar://11355843
llvm-svn: 155925
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will optimize the following cases on X86
(a > b) ? (a-b) : 0
(a >= b) ? (a-b) : 0
(b < a) ? (a-b) : 0
(b <= a) ? (a-b) : 0
FROM
movl %edi, %ecx
subl %esi, %ecx
cmpl %edi, %esi
movl $0, %eax
cmovll %ecx, %eax
TO
xorl %eax, %eax
subl %esi, %edi
cmovll %eax, %edi
movl %edi, %eax
rdar: 10734411
llvm-svn: 155919
|
| |
|
|
|
|
| |
(to generate debug info for local variables) if stack needs realignment
llvm-svn: 155917
|
| |
|
|
| |
llvm-svn: 155915
|
| |
|
|
| |
llvm-svn: 155909
|
| |
|
|
|
|
|
|
|
|
|
| |
- Improved parameter names for clarity
- Added comments
- emitCommonSymbols should return void because its return value is not being
used anywhere
- Attempt to reduce the usage of the RelocationValueRef type. Restricts it
for a single goal and may serve as a step for eventual removal.
llvm-svn: 155908
|
| |
|
|
| |
llvm-svn: 155907
|
| |
|
|
|
|
|
|
|
| |
The TargetPassManager's default constructor wants to initialize the PassManager
to 'null'. But it's illegal to bind a null reference to a null l-value. Make the
ivar a pointer instead.
PR12468
llvm-svn: 155902
|
| |
|
|
| |
llvm-svn: 155899
|
| |
|
|
|
|
|
|
|
| |
- There's no point having a different type for the local and global symbol
tables.
- Renamed SymbolTable to GlobalSymbolTable to clarify the intention
- Improved const correctness where relevant
llvm-svn: 155898
|
| |
|
|
|
|
| |
Bulldozer feature list.
llvm-svn: 155897
|
| |
|
|
| |
llvm-svn: 155896
|
| |
|
|
| |
llvm-svn: 155891
|
| |
|
|
|
|
| |
and HasCLMUL predicates.
llvm-svn: 155890
|
| |
|
|
| |
llvm-svn: 155888
|
| |
|
|
| |
llvm-svn: 155885
|
| |
|
|
|
|
| |
has no exit blocks. Fixes PR12706!
llvm-svn: 155884
|
| |
|
|
|
|
|
|
|
| |
<rdar://problem/11291436>.
This is a second attempt at a fix for this, the first was r155468. Thanks
to Chandler, Bob and others for the feedback that helped me improve this.
llvm-svn: 155866
|
| |
|
|
| |
llvm-svn: 155859
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will optimize -(x != 0) on X86
FROM
cmpl $0x01,%edi
sbbl %eax,%eax
notl %eax
TO
negl %edi
sbbl %eax %eax
llvm-svn: 155853
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace some assert() calls w/ actual diagnostics. In a perfect world,
there'd be range checks on these values long before things ever reached
this code. For now, though, issuing a better-late-than-never diagnostic
is still a big improvement over assert().
rdar://11347287
llvm-svn: 155851
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This was exposed by SingleSource/UnitTests/Vector/constpool.c.
The computed size of a basic block isn't always a multiple of its known
alignment, and that can introduce extra alignment padding after the
block.
<rdar://problem/11347135>
llvm-svn: 155845
|
| |
|
|
| |
llvm-svn: 155832
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On x86-32, structure return via sret lets the callee pop the hidden
pointer argument off the stack, which the caller then re-pushes.
However if the calling convention is fastcc, then a register is used
instead, and the caller should not adjust the stack. This is
implemented with a check of IsTailCallConvention
X86TargetLowering::LowerCall but is now checked properly in
X86FastISel::DoSelectCall.
(this time, actually commit what was reviewed!)
llvm-svn: 155825
|
| |
|
|
|
|
|
|
| |
ARM BUILD_VECTORs created after type legalization cannot use i8 or i16
operands, since those types are not legal. Instead use i32 operands, which
will be implicitly truncated by the BUILD_VECTOR to match the element type.
llvm-svn: 155824
|
| |
|
|
|
|
|
|
|
| |
relocations are resolved. It's much more reasonable to do this decision when
relocations are just being added - we have all the information at that point.
Also a bit of renaming and extra comments to clarify extensions.
llvm-svn: 155819
|
| |
|
|
|
|
| |
known zero in the LHS. Fixes PR12541.
llvm-svn: 155818
|
| |
|
|
|
|
|
|
|
|
|
| |
Allow the "SplitCriticalEdge" function to split the edge to a landing pad. If
the pass is *sure* that it thinks it knows what it's doing, then it may go ahead
and specify that the landing pad can have its critical edge split. The loop
unswitch pass is one of these passes. It will split the critical edges of all
edges coming from a loop to a landing pad not within the loop. Doing so will
retain important loop analysis information, such as loop simplify.
llvm-svn: 155817
|
| |
|
|
| |
llvm-svn: 155816
|