Dan Gohman
86527c1834
Const-ify several TargetInstrInfo methods.
...
llvm-svn: 57622
2008-10-16 01:49:15 +00:00
Zhongxing Xu
b187adcf5a
Fix a calculation error in comments.
...
llvm-svn: 57619
2008-10-16 01:21:44 +00:00
Dan Gohman
46dafc2fb9
Move the include of MachineLocation.h into MachineModuleInfo.h
...
because it declares a std::vector<MachineMove>, and strict
concept checking requires the definition of MachineMove to be
available.
llvm-svn: 57617
2008-10-16 00:20:14 +00:00
Dan Gohman
440dea174f
Implement a SmallVector insert method that can insert multiple
...
copies of a value, and add several additional utilities to make
SmallVector better conform to the Container concept.
llvm-svn: 57616
2008-10-16 00:15:24 +00:00
Dan Gohman
307b390231
Fix several places that called mapped_iterator's constructor without
...
passing in a function object.
llvm-svn: 57615
2008-10-16 00:12:39 +00:00
Dan Gohman
0c160fbe89
Correct the name of isTrapping in comments.
...
llvm-svn: 57606
2008-10-15 22:56:21 +00:00
Dan Gohman
b7435b1c03
Fix whitespace in a comment.
...
llvm-svn: 57605
2008-10-15 22:55:03 +00:00
Chris Lattner
ab625c3b99
Fix PR2115 by doxygenating Use more, and make some more methods private.
...
llvm-svn: 57587
2008-10-15 16:56:14 +00:00
Gabor Greif
03b3b570ae
remove legacy interfaces
...
llvm-svn: 57569
2008-10-15 09:52:56 +00:00
Mon P Wang
98c2e01394
Removed pinsrd and pinsrq intrinsics because the code generator does not support
...
them since they map to insert element
llvm-svn: 57564
2008-10-15 06:27:16 +00:00
Evan Cheng
cb8b4e9dd4
- Add target lowering hooks that specify which setcc conditions are illegal,
...
i.e. conditions that cannot be checked with a single instruction. For example,
SETONE and SETUEQ on x86.
- Teach legalizer to implement *illegal* setcc as a and / or of a number of
legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is
implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ.
- Move x86 target over.
llvm-svn: 57542
2008-10-15 02:05:31 +00:00
Dan Gohman
c070ffc493
FastISel support for exception-handling constructs.
...
- Move the EH landing-pad code and adjust it so that it works
with FastISel as well as with SDISel.
- Add FastISel support for @llvm.eh.exception and
@llvm.eh.selector.
llvm-svn: 57539
2008-10-14 23:54:11 +00:00
Daniel Dunbar
2f3ec96450
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
...
llvm-svn: 57536
2008-10-14 23:26:20 +00:00
Evan Cheng
3faedff2de
Rename LoadX to LoadExt.
...
llvm-svn: 57526
2008-10-14 21:26:46 +00:00
Devang Patel
3e8ed97454
Remove dead code.
...
llvm-svn: 57522
2008-10-14 20:30:54 +00:00
Evan Cheng
a056deb8b1
Clarify meaning of copyRegToReg's return value.
...
llvm-svn: 57449
2008-10-13 17:30:56 +00:00
Gabor Greif
86742bf679
fix typo's
...
llvm-svn: 57435
2008-10-13 10:28:12 +00:00
Gabor Greif
d9cedf70c7
remove a deprecated internal interface
...
llvm-svn: 57434
2008-10-13 10:25:27 +00:00
Chris Lattner
7e58510a50
this was to be removed after 2.4 branched.
...
llvm-svn: 57422
2008-10-12 18:57:09 +00:00
Owen Anderson
86d9a902dc
Make Escape Analysis work for any pointer.
...
llvm-svn: 57412
2008-10-12 07:33:29 +00:00
Owen Anderson
ec151a1875
Add EscapeAnalysis.
...
llvm-svn: 57411
2008-10-12 06:49:21 +00:00
Chris Lattner
fc98ac247e
random cleanup
...
llvm-svn: 57383
2008-10-11 22:06:50 +00:00
Dale Johannesen
03d0a7d70c
Fix SSE4.1 roundss, roundsd. While the instructions have
...
the same pattern as roundpd/roundps, the Intel compiler
builtins do not: rounds* has an extra operand. Fixes
gcc.target/i386/sse4_1-rounds[sd]-[1234].c
llvm-svn: 57370
2008-10-10 23:51:03 +00:00
Owen Anderson
7e189f7b76
Fix copy-and-paste-o.
...
llvm-svn: 57343
2008-10-10 08:53:07 +00:00
Owen Anderson
5a5a9162e6
Add a basic intra-procedural escape analysis. This hasn't be extensively tested yet, but feedback is welcome.
...
llvm-svn: 57342
2008-10-10 08:36:25 +00:00
Mon P Wang
ec4d25ea4b
Fixed definition of llvm_anyptr_ty
...
llvm-svn: 57338
2008-10-10 01:41:18 +00:00
Dale Johannesen
2fa6e000b1
A file missed from previous checkin.
...
llvm-svn: 57330
2008-10-09 23:01:07 +00:00
Dale Johannesen
075a62519f
Add a "loses information" return value to APFloat::convert
...
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
2008-10-09 23:00:39 +00:00
Dale Johannesen
9e57068854
Rename APFloat::convertToAPInt to bitcastToAPInt to
...
make it clearer what the function does. No functional
change.
llvm-svn: 57325
2008-10-09 18:53:47 +00:00
Dale Johannesen
817eff07b1
(re)Put const weak strings in appropriate section on Darwin.
...
g++dg/abi/key2.C
llvm-svn: 57309
2008-10-08 21:49:47 +00:00
Eric Christopher
fd8787fceb
Fix disagreement about where the attributes are
...
~0 != ~0U.
llvm-svn: 57268
2008-10-07 22:33:44 +00:00
Owen Anderson
c9a628af26
Add an option to enable StrongPHIElimination, for ease of testing.
...
llvm-svn: 57259
2008-10-07 20:22:28 +00:00
Andrew Lenharth
7a997d1cfd
Note that ADDC and company don't actually expand yet (missing in legalize
...
llvm-svn: 57226
2008-10-07 02:10:26 +00:00
Evan Cheng
f3168957ef
Cosmetic.
...
llvm-svn: 57200
2008-10-06 20:33:02 +00:00
Chris Lattner
cb613e3693
comment cleanups
...
llvm-svn: 57058
2008-10-04 18:08:00 +00:00
Dan Gohman
5944450d5f
Fix fast-isel's handling of atomic instructions. They may
...
expand to multiple basic blocks, in which case fast-isel
needs to informed of which block to use as it resumes
inserting instructions.
llvm-svn: 57040
2008-10-04 00:56:36 +00:00
Devang Patel
0d22d8ebdb
Fix function attribute verification check.
...
Thanks Duncan!
llvm-svn: 57029
2008-10-03 21:11:02 +00:00
Devang Patel
2bed4d4ca0
Verify function attributes.
...
llvm-svn: 57020
2008-10-03 17:50:00 +00:00
Jim Grosbach
a49386d8e7
On Darwin ARM, memory needs special handling to do JIT. This patch expands
...
this handling to work properly for modifying stub functions, relocations
back to entry points after JIT compilation, etc..
llvm-svn: 57013
2008-10-03 16:17:20 +00:00
Dan Gohman
30c5ce1b7d
Switch the MachineOperand accessors back to the short names like
...
isReg, etc., from isRegister, etc.
llvm-svn: 57006
2008-10-03 15:45:36 +00:00
Duncan Sands
5edd9b2350
Teach internalize to preserve the callgraph.
...
Why? Because it was there!
llvm-svn: 56996
2008-10-03 07:36:09 +00:00
Dan Gohman
e75d14f8b0
Optimize conditional branches in X86FastISel. This replaces
...
sequences like this:
sete %al
testb %al, %al
jne LBB11_1
with this:
je LBB11_1
llvm-svn: 56969
2008-10-02 22:15:21 +00:00
Dan Gohman
bf63ae1e29
Add a new MachineBasicBlock utility function, isLayoutSuccessor, that
...
can be used when deciding if a block can transfer control to another
via a fall-through instead of a branch.
llvm-svn: 56968
2008-10-02 22:09:09 +00:00
Mikhail Glushenkov
016196513e
Build system tweaks to make it more convenient for the plugin authors.
...
Plugins can be now compiled in with a slight Makefile change.
For example, to compile the new Clang driver, use:
cd $LLVMC2_DIR
make TOOLNAME=ccc2 BUILTIN_PLUGINS=Clang
llvm-svn: 56967
2008-10-02 21:15:05 +00:00
Evan Cheng
c589085710
A Partitioned Boolean Quadratic Programming (PBQP) based register allocator.
...
Contributed by Lang Hames.
llvm-svn: 56959
2008-10-02 18:29:27 +00:00
Daniel Dunbar
553c69eecd
Rename IRBuilder::IsNonNull -> IsNotNull in response to feedback.
...
llvm-svn: 56953
2008-10-02 17:05:03 +00:00
Bill Wendling
1c97db4090
"The original bug was a complaint that _mm_srli_si128 mis-compiled when passed
...
a constant vector ("{0x123, 0x456}" syntax). The fix is to simplify the
_mm_srli_si128 macro, and move the "* 8" from the macro into the compiler
back-end. I can't change the existing __builtins because so many people are
using them :-(."
Patch by Stuart Hastings!
llvm-svn: 56944
2008-10-02 05:56:52 +00:00
Daniel Dunbar
1fab10702e
Add llvm::sys::{osName,osVersion} for retrieving operating system name
...
& version as strings.
- Win32 code is untested.
llvm-svn: 56942
2008-10-02 01:17:28 +00:00
Devang Patel
d90556aed0
Attributes noinline alwaysinline are incompatible
...
llvm-svn: 56939
2008-10-01 23:41:25 +00:00
Devang Patel
a5cda569d3
Remove OptimizeForSize global. Use function attribute optsize.
...
llvm-svn: 56937
2008-10-01 23:18:38 +00:00