| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 156757
|
|
|
|
| |
llvm-svn: 156755
|
|
|
|
|
|
| |
Found by valgrind.
llvm-svn: 156744
|
|
|
|
| |
llvm-svn: 156716
|
|
|
|
|
|
| |
for nesting.
llvm-svn: 156714
|
|
|
|
| |
llvm-svn: 156712
|
|
|
|
|
|
| |
Based on a patch by Team PaX.
llvm-svn: 156709
|
|
|
|
|
|
|
|
| |
unsupported.
Patch by Team PaX!
llvm-svn: 156708
|
|
|
|
| |
llvm-svn: 156707
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156706
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156705
|
|
|
|
|
|
|
|
| |
Ordinary patch for PR1255.
Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object.
Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.
llvm-svn: 156704
|
|
|
|
|
|
| |
the address of a function.
llvm-svn: 156703
|
|
|
|
| |
llvm-svn: 156700
|
|
|
|
| |
llvm-svn: 156698
|
|
|
|
| |
llvm-svn: 156696
|
|
|
|
|
|
|
|
|
| |
the ones that get or set the frame index for the $gp save slot.
Remove the piece of code in MipsFunctionInfo::getGlobalBaseReg() which returns
GP. This function should always return a virtual register.
llvm-svn: 156695
|
|
|
|
|
|
| |
is the $gp save slot.
llvm-svn: 156694
|
|
|
|
| |
llvm-svn: 156693
|
|
|
|
|
|
|
|
|
| |
- Stop creating stack frame objects needed for saving $gp.
- Insert a node that copies the global pointer register to register $gp
before the call node. This will ensure $gp is valid at the entry of the
called function.
llvm-svn: 156692
|
|
|
|
|
|
|
|
| |
- Stop emitting instructions needed to initialize the global pointer register.
- Stop emitting .cprestore directive.
- Do not take into account the $gp save slot when computing stack size.
llvm-svn: 156691
|
|
|
|
|
|
|
|
|
| |
- Remove code which lowers pseudo SETGP01.
- Fix LowerSETGP01. The first two of the three instructions that are emitted to
initialize the global pointer register now use register $2.
- Stop emitting .cpload directive.
llvm-svn: 156689
|
|
|
|
|
|
| |
intended.
llvm-svn: 156687
|
|
|
|
|
|
|
|
|
| |
Empty live ranges represent undef and still get allocated, but they
won't appear in LiveIntervalUnions.
Patch by Patrik Hägglund!
llvm-svn: 156685
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointer register.
This is the first of the series of patches which clean up the way global pointer
register is used. The patches will make the following improvements:
- Make $gp an allocatable temporary register rather than reserving it.
- Use a virtual register as the global pointer register and let the register
allocator decide which register to assign to it or whether spill/reloads are
needed.
- Make sure $gp is valid at the entry of a called function, which is necessary
for functions using lazy binding.
- Remove the need for emitting .cprestore and .cpload directives.
llvm-svn: 156671
|
|
|
|
| |
llvm-svn: 156663
|
|
|
|
| |
llvm-svn: 156662
|
|
|
|
| |
llvm-svn: 156658
|
|
|
|
| |
llvm-svn: 156652
|
|
|
|
| |
llvm-svn: 156646
|
|
|
|
| |
llvm-svn: 156644
|
|
|
|
| |
llvm-svn: 156636
|
|
|
|
|
|
| |
Patch by Jyotsna Verma.
llvm-svn: 156634
|
|
|
|
| |
llvm-svn: 156633
|
|
|
|
|
|
| |
Minor cleanup.
llvm-svn: 156632
|
|
|
|
| |
llvm-svn: 156631
|
|
|
|
|
|
|
|
| |
retval. Hoists check before emitting the call to avoid unnecessary work.
rdar://11430407
PR12796
llvm-svn: 156628
|
|
|
|
| |
llvm-svn: 156625
|
|
|
|
|
|
|
|
| |
to selection DAG isel if we're unable to handle a non-double multi-reg retval.
rdar://11430407
PR12796
llvm-svn: 156622
|
|
|
|
| |
llvm-svn: 156621
|
|
|
|
| |
llvm-svn: 156620
|
|
|
|
| |
llvm-svn: 156615
|
|
|
|
|
|
|
| |
This fixes a TODO from 2007 :) Previously, LLVM would emit the wrong
code here (see the update to test/CodeGen/X86/tls-pie.ll).
llvm-svn: 156611
|
|
|
|
|
|
| |
instruction. It is now set to 0. The patch also sets the unpredictable mask for SEL and SXTB-type instructions.
llvm-svn: 156609
|
|
|
|
|
|
| |
offset addressing. The assembler and instruction printer were not properly handeling the #-0 immediate.
llvm-svn: 156608
|
|
|
|
| |
llvm-svn: 156603
|
|
|
|
| |
llvm-svn: 156602
|
|
|
|
| |
llvm-svn: 156600
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will optimize the following cases:
sub r1, r3 | sub r1, imm
cmp r3, r1 or cmp r1, r3 | cmp r1, imm
bge L1
TO
subs r1, r3
bge L1 or ble L1
If the branch instruction can use flag from "sub", then we can replace
"sub" with "subs" and eliminate the "cmp" instruction.
rdar: 10734411
llvm-svn: 156599
|
|
|
|
|
|
| |
but it generates int3 on x86 instead of ud2.
llvm-svn: 156593
|