- Mar 04, 2012
-
-
Jakob Stoklund Olesen authored
MachineOperands that define part of a virtual register must have an <undef> flag if they are not intended as read-modify-write operands. The old trick of adding an <imp-def> operand doesn't work any longer. Fixes PR12177. llvm-svn: 152008
-
Craig Topper authored
llvm-svn: 152001
-
Craig Topper authored
llvm-svn: 151998
-
Craig Topper authored
llvm-svn: 151996
-
Craig Topper authored
Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o llvm-svn: 151995
-
- Mar 02, 2012
-
-
Chad Rosier authored
In this instance we are generating the tail-call during legalizeDAG. The 2nd floor call can't be a tail call because it clobbers %xmm1, which is defined by the first floor call. The first floor call can't be a tail-call because it's not in the tail position. The only reasonable way I could think to fix this in a target-independent manner was to check for glue logic on the copy reg. rdar://10930395 llvm-svn: 151877
-
Evan Cheng authored
floating point equality comparisons into integer ones with -ffast-math. The issue is the optimization causes +0.0 != -0.0. Now the optimization is only done when one side is known to be 0.0. The other side's sign bit is masked off for the comparison. rdar://10964603 llvm-svn: 151861
-
- Mar 01, 2012
-
-
Jakob Stoklund Olesen authored
This function could have r12 live across a function call when compiling thumb1 code. The test case for this is not included because it is very long. It must provoke emergency spilling near a function call. The behavior is provoked by MultiSource/Applications/JM/lencod, and it triggers an assertion in the scavenger. <rdar://problem/10963642> llvm-svn: 151855
-
Jim Grosbach authored
rdar://10965031 llvm-svn: 151850
-
Michael J. Spencer authored
llvm-svn: 151849
-
Akira Hatanaka authored
llvm-svn: 151847
-
Kevin Enderby authored
runs into the undefined 15 condition code value. llvm-svn: 151844
-
Akira Hatanaka authored
and stores was added. - SelectAddr should return false if Parent is an unaligned f32 load or store. - Only aligned load and store nodes should be matched to select reg+imm floating point instructions. - MIPS does not have support for f64 unaligned load or store instructions. llvm-svn: 151843
-
Benjamin Kramer authored
This allows us to make TRC non-polymorphic and value-initializable, eliminating a huge static initializer and a ton of cruft from the generated code. Shrinks ARMBaseRegisterInfo.o by ~100k. llvm-svn: 151806
-
Benjamin Kramer authored
llvm-svn: 151792
-
Akira Hatanaka authored
objects for big endian and little endian targets. Patch by Jack Carter. llvm-svn: 151788
-
- Feb 29, 2012
-
-
Kevin Enderby authored
So with darwin's otool(1) an x86_64 hello world .o file will print: leaq L_.str(%rip), %rax ## literal pool for: Hello world llvm-svn: 151769
-
Andrew Trick authored
Patch by Tyler Nowicki! llvm-svn: 151743
-
Derek Schuff authored
llvm-svn: 151687
-
Jim Grosbach authored
Without this hook, functions w/ a completely empty body (including no epilogue) will cause an MCEmitter assertion failure. For example, define internal fastcc void @empty_function() { unreachable } rdar://10947471 llvm-svn: 151673
-
- Feb 28, 2012
-
-
Jim Grosbach authored
These instructions accept but do not require a size suffix. rdar://10947225 llvm-svn: 151646
-
Evan Cheng authored
llvm-svn: 151645
-
Roman Divacky authored
llvm-svn: 151639
-
Daniel Dunbar authored
Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part. llvm-svn: 151630
-
Jia Liu authored
llvm-svn: 151625
-
Evan Cheng authored
the processor keeps a return addresses stack (RAS) which stores the address and the instruction execution state of the instruction after a function-call type branch instruction. Calling a "noreturn" function with normal call instructions (e.g. bl) can corrupt RAS and causes 100% return misprediction so LLVM should use a unconditional branch instead. i.e. mov lr, pc b _foo The "mov lr, pc" is issued in order to get proper backtrace. rdar://8979299 llvm-svn: 151623
-
Akira Hatanaka authored
llvm-svn: 151615
-
Akira Hatanaka authored
llvm-svn: 151614
-
Akira Hatanaka authored
load and store instructions. llvm-svn: 151611
-
Jakob Stoklund Olesen authored
When an outgoing call takes more than 2k of arguments on the stack, we don't allocate that call frame in the prolog, but adjust the stack pointer immediately before the call instead. This causes problems with the emergency spill slot because PEI can't track stack pointer adjustments on the second pass, and if the outgoing arguments are too big, SP can't be used to reach the emergency spill slot at all. Work around these problems by ensuring there is a base or frame pointer that can be used to access the emergency spill slot. <rdar://problem/10917166> llvm-svn: 151604
-
Preston Gurd authored
This patch adds instruction latencies for the SSE instructions to the instruction scheduler for the Intel Atom. llvm-svn: 151590
-
Evandro Menezes authored
llvm-svn: 151582
-
- Feb 27, 2012
-
-
Jim Grosbach authored
We on the linker to resolve calls to the appropriate BL/BLX instruction to make interworking function correctly. It uses the symbol in the relocation to do that, so we need to be careful about being too clever. To enable this for ARM mode, split the BL/BLX fixup kind off from the unconditional-branch fixups. rdar://10927209 llvm-svn: 151571
-
Roman Divacky authored
MCize function entry label emission on PowerPC64 properly. llvm-svn: 151547
-
Chad Rosier authored
rdar://10921670 PR11935 llvm-svn: 151543
-
Akira Hatanaka authored
llvm-svn: 151540
-
Akira Hatanaka authored
llvm-svn: 151538
-
Kevin Enderby authored
thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode. llvm-svn: 151530
-
Craig Topper authored
Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen. llvm-svn: 151514
-
Jia Liu authored
llvm-svn: 151512
-