Dan Gohman
9a6a882979
Constant-fold ptrtoint+add+inttoptr to gep when the pointer is an
...
array and the add is within range. This helps simplify expressions
expanded by ScalarEvolutionExpander.
llvm-svn: 71158
2009-05-07 14:24:56 +00:00
Dan Gohman
b81e43b8c3
Factor out a common base class between SCEVCommutativeExpr and
...
SCEVAddRecExpr. This eliminates redundant code for visiting
all the operands of an expression.
llvm-svn: 71157
2009-05-07 14:00:19 +00:00
Argyrios Kyrtzidis
bd72fc132d
Move the tablegen-produced DebugLoc handling into a AsmWriter::processDebugLoc function.
...
No functionality change.
llvm-svn: 71156
2009-05-07 13:55:51 +00:00
Evan Cheng
ef5794cb99
Code refactoring.
...
llvm-svn: 71151
2009-05-07 05:49:39 +00:00
Evan Cheng
1b99da6e30
Rename "loop aligner" pass to "code placement optimization" pass.
...
llvm-svn: 71150
2009-05-07 05:42:24 +00:00
Evan Cheng
1109c5103e
Eliminate compiler warnings.
...
llvm-svn: 71149
2009-05-07 05:31:56 +00:00
Jakob Stoklund Olesen
732cf37a13
Add const modifiers.
...
llvm-svn: 71147
2009-05-07 04:41:26 +00:00
Bill Wendling
864cbcfc46
THis doesn't fail.
...
llvm-svn: 71142
2009-05-07 01:41:42 +00:00
Bill Wendling
6edd6ef74f
Just turn aggressive stack coloring off at -O3.
...
llvm-svn: 71140
2009-05-07 01:33:38 +00:00
Bill Wendling
7c50dcd02e
Temporarily revert r71010. It was causing massive failures during self-hosting.
...
llvm-svn: 71138
2009-05-07 01:27:25 +00:00
Argyrios Kyrtzidis
0f60e636c0
Make DwarfWriter::RecordInlinedFnStart more like the other DwarfWriter's methods:
...
-Have it return a label ID
-Remove the unused Instruction parameter
No functionality change.
llvm-svn: 71132
2009-05-07 00:16:31 +00:00
Dan Gohman
dee50585e0
Use stable_sort instead of plain sort to avoid the risk of generating
...
trivially different code on different hosts (due to differing
std::sort implementations).
llvm-svn: 71124
2009-05-06 22:54:33 +00:00
Bill Wendling
6e1b018958
- Move some debug fields to coincide with how GCC emits them. No functionality
...
change.
- Reformatting.
llvm-svn: 71118
2009-05-06 21:21:34 +00:00
Oscar Fuentes
48fa557312
CMake: Use pthread library when requested and available.
...
llvm-svn: 71116
2009-05-06 20:42:04 +00:00
Oscar Fuentes
a06115b0ab
CMake: Updated lib/Target/PIC16/CMakeLists.txt.
...
llvm-svn: 71115
2009-05-06 20:40:05 +00:00
Dale Johannesen
b2cf4944c2
Use X86AddrNumOperands instead of magic constant one
...
more place. This fixes a bunch of x86-64 JIT regressions.
(Introduced when the value of the magic constant changed
in 68645. At the time apparently nobody noticed; failures
were hidden in 70343-70439 by an unrelated bug, so showed
up again as "new" failures in 70440.)
llvm-svn: 71106
2009-05-06 19:04:30 +00:00
Evan Cheng
0ee6696fd8
Do not use register as base ptr of pre- and post- inc/dec load / store nodes.
...
llvm-svn: 71098
2009-05-06 18:25:01 +00:00
Evan Cheng
ecc4cc83a8
Unbreak the build.
...
llvm-svn: 71091
2009-05-06 18:00:56 +00:00
David Greene
be8ff09e46
Make sure to use signed arithmetic in APInt to fix a regression.
...
llvm-svn: 71090
2009-05-06 17:39:26 +00:00
Dan Gohman
33e1f0fcb5
Simplify code by using SmallVector's pop_back_val() instead of
...
separate back() and pop_back() calls.
llvm-svn: 71089
2009-05-06 17:22:41 +00:00
Dan Gohman
3817464c23
Add simplify_type specializations to allow WeakVH, AssertingVH, and
...
CallbackVH to participate in dyn_cast, isa, etc. without needing
an explicit conversion.
llvm-svn: 71087
2009-05-06 17:12:48 +00:00
Oscar Fuentes
24167db5ad
CMake: Updated lib/CodeGen/CMakeLists.txt.
...
llvm-svn: 71085
2009-05-06 14:56:40 +00:00
Oscar Fuentes
bf169af79a
CMake: Detects libpthread and sets HAVE_LIBPTHREAD.
...
llvm-svn: 71084
2009-05-06 14:40:37 +00:00
Oscar Fuentes
7a12578fb4
CMake: Added cmakedefine for HAVE_PTHREAD_H.
...
Patch by Robert Schuster!
llvm-svn: 71083
2009-05-06 14:27:59 +00:00
Duncan Sands
8478d08c36
Nounwind is not valid for function return values.
...
llvm-svn: 71082
2009-05-06 13:51:18 +00:00
Duncan Sands
28e07fdaa2
OCaml parameter attribute bindings from PR2752.
...
Incomplete, but better than nothing.
llvm-svn: 71081
2009-05-06 12:21:17 +00:00
Duncan Sands
938fde7e43
Add generic expansion of SUB when ADD and XOR
...
are legal. Based on a patch by Micah Villmow.
llvm-svn: 71078
2009-05-06 11:29:50 +00:00
Duncan Sands
b71ad70b4e
Fix PR3754: don't mark functions that wrap MallocInst with
...
the readnone. Since MallocInst is scheduled for deletion
it doesn't seem worth doing anything more subtle, such as
having mayWriteToMemory return true for MallocInst.
llvm-svn: 71077
2009-05-06 08:42:00 +00:00
Sanjiv Gupta
cc6f71e64c
Emit banksel and movlp instructions.
...
Split large global data (both initialized and un-initialized) into multiple sections of <= 80 bytes.
Provide routines to manage PIC16 ABI naming conventions.
llvm-svn: 71073
2009-05-06 08:02:01 +00:00
Duncan Sands
880eaf5278
Allow readonly functions to unwind exceptions. Teach
...
the optimizers about this. For example, a readonly
function with no uses cannot be removed unless it is
also marked nounwind.
llvm-svn: 71071
2009-05-06 06:49:50 +00:00
Mikhail Glushenkov
d5cadeed5d
A better error message.
...
llvm-svn: 71068
2009-05-06 04:54:23 +00:00
Lang Hames
fcc5ebb1d4
Renamed Spiller classes (plus uses and related files) to VirtRegRewriter.
...
llvm-svn: 71057
2009-05-06 02:36:21 +00:00
Mikhail Glushenkov
2a24374c7f
Regenerate documentation.
...
llvm-svn: 71055
2009-05-06 01:41:47 +00:00
Mikhail Glushenkov
d9ef672a0d
The 'forward_as' property did not use its second argument.
...
See PR4159 for details. Patch by Martin Nowack!
llvm-svn: 71054
2009-05-06 01:41:19 +00:00
Dan Gohman
39d3c78f6a
Fix a copy+pasto in a comment.
...
llvm-svn: 71035
2009-05-05 23:02:38 +00:00
Dan Gohman
c1169472a2
Delete a FIXME which is no longer relevant, and add a FIXME that is.
...
llvm-svn: 71033
2009-05-05 22:59:55 +00:00
Evan Cheng
0d781df8dc
Quotes should be printed before private prefix; some code clean up.
...
llvm-svn: 71032
2009-05-05 22:50:29 +00:00
Bill Wendling
265f9ffc43
Add dump method to DIDescriptor.
...
llvm-svn: 71028
2009-05-05 22:19:25 +00:00
Dan Gohman
6d1ffab07b
Add an explicit keyword.
...
llvm-svn: 71022
2009-05-05 21:23:20 +00:00
Dan Gohman
5e839321f2
If a MachineBasicBlock has multiple ways of reaching another block,
...
allow it to have multiple CFG edges to that block. This is needed
to allow MachineBasicBlock::isOnlyReachableByFallthrough to work
correctly. This fixes PR4126.
llvm-svn: 71018
2009-05-05 21:10:19 +00:00
Evan Cheng
5c1e41c21d
Forgot this in the last commit.
...
llvm-svn: 71014
2009-05-05 20:54:11 +00:00
Bill Wendling
5f4fcbeb10
Temporarily reverting r71008. It was causing this failure:
...
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/
CodeGen/X86/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/
CodeGen/X86/change-compare-stride-1.ll
Failed with exit(1) at line 2
while running: grep {cmpq $-478,} change-compare-stride-1.ll.tmp
child process exited abnormally
llvm-svn: 71013
2009-05-05 20:49:46 +00:00
Dan Gohman
ad61ec36ad
Add some more documentation for x86 special address spaces.
...
llvm-svn: 71012
2009-05-05 20:48:47 +00:00
Evan Cheng
984da04cd0
Enable stack coloring with regs at -O3.
...
llvm-svn: 71010
2009-05-05 20:30:36 +00:00
David Greene
2bb2b3840e
Handle overflow of 64-bit loop conditions.
...
llvm-svn: 71008
2009-05-05 20:22:36 +00:00
Chris Lattner
5cc9a36d1c
Add basic support for code generation of
...
addrspace(257) -> FS relative on x86. Patch by Zoltan Varga!
llvm-svn: 70992
2009-05-05 18:52:19 +00:00
Evan Cheng
2deb91f54b
bugpoint for jit should just ignore GCC arguments.
...
llvm-svn: 70988
2009-05-05 18:35:36 +00:00
Evan Cheng
138eed76c7
Revert part of 70929 that has to do with determining whether a SIB byte is needed. It causes a lot of x86_64 JIT failures.
...
llvm-svn: 70986
2009-05-05 18:18:57 +00:00
David Greene
9aad2bbcf9
Allow multiclass def names to contain "#NAME"" where TableGen replaces
...
#NAME# with the name of the defm instantiating the multiclass. This is
useful for AVX instruction naming where a "V" prefix is standard
throughout the ISA. For example:
multiclass SSE_AVX_Inst<...> {
def SS : Instr<...>;
def SD : Instr<...>;
def PS : Instr<...>;
def PD : Instr<...>;
def V#NAME#SS : Instr<...>;
def V#NAME#SD : Instr<...>;
def V#NAME#PS : Instr<...>;
def V#NAME#PD : Instr<...>;
}
defm ADD : SSE_AVX_Inst<...>;
Results in
ADDSS
ADDSD
ADDPS
ADDPD
VADDSS
VADDSD
VADDPS
VADDPD
llvm-svn: 70979
2009-05-05 16:28:25 +00:00
Mikhail Glushenkov
2b4696b585
Fix incorrect code generation with ENV.
...
See PR4157 for details. Patch by Martin Nowack!
llvm-svn: 70973
2009-05-05 12:34:34 +00:00