Mon P Wang
5c2ac4a5e0
Treat floating point ST1 the same as ST0 when lowering for a call result
...
llvm-svn: 55135
2008-08-21 19:54:16 +00:00
Owen Anderson
893ce348a7
Remove unneeded #include.
...
llvm-svn: 55134
2008-08-21 19:51:25 +00:00
Dan Gohman
2af34bd309
Add libcalls for the new rounding opcodes.
...
llvm-svn: 55133
2008-08-21 18:38:14 +00:00
Dan Gohman
da457c80f6
Fix a typo that Dale noticed.
...
llvm-svn: 55132
2008-08-21 18:13:12 +00:00
Chris Lattner
ea71438a93
add a simple check to warn people who type "=+" when they probably meant
...
"+=".
llvm-svn: 55131
2008-08-21 18:04:13 +00:00
Dan Gohman
c6337ac069
Add libm-oriented ISD opcodes for rounding operations.
...
llvm-svn: 55130
2008-08-21 17:55:02 +00:00
Dan Gohman
6a7461ad9b
Have FastISel skip the multiply by 1 for getelementptr on i8*.
...
llvm-svn: 55129
2008-08-21 17:37:05 +00:00
Anton Korobeynikov
f16134141d
Allow inline asm nodes with empty bodies inside JIT.
...
This unbreaks explicit reg vars inside JIT, which are
implemented in such hacky way :)
llvm-svn: 55128
2008-08-21 17:33:01 +00:00
Chris Lattner
479c5d9ee2
Switch from an O(n) method to an O(1) method for changing non-constant
...
operands.
llvm-svn: 55127
2008-08-21 17:31:45 +00:00
Dan Gohman
cdf1a276e3
getelementptr doesn't work on x86-64 yet, because it
...
has MOV64ri32 and no plain MOV64ri.
llvm-svn: 55126
2008-08-21 17:28:42 +00:00
Dan Gohman
efb7d2d03d
MVT::getMVT uses iPTR for pointer types, while we need the actual
...
intptr_t type in this case. FastISel can now select simple
getelementptr instructions.
llvm-svn: 55125
2008-08-21 17:25:26 +00:00
Dan Gohman
d3582c9bda
Simplify SelectRoot's interface, and factor out some common code
...
from all targets.
llvm-svn: 55124
2008-08-21 16:36:34 +00:00
Dan Gohman
75ea0b83c5
Elements in DeadNodeSet are checked for use_empty() before they
...
are actually deleted, so it's not necessary to remove re-used
nodes from the set.
llvm-svn: 55123
2008-08-21 16:24:54 +00:00
Dan Gohman
8f61db6f46
SelectionDAGISel::SelectRootInit does not need to be virtual.
...
llvm-svn: 55122
2008-08-21 16:06:51 +00:00
Dan Gohman
825081063e
Make HandleSDNode::getValue return an SDValue instead of
...
the full SDUse, which isn't needed.
llvm-svn: 55121
2008-08-21 16:02:46 +00:00
Dan Gohman
f3e13bbd4d
Don't silently ignore errors when opening output streams.
...
llvm-svn: 55120
2008-08-21 15:33:45 +00:00
Steve Naroff
b2fc05227c
RewriteObjC::RewriteObjCSynchronizedStmt(): Make sure the sync expr is cast to "id".
...
This fixes <rdar://problem/6163088> clang ObjC rewriter: @synchronized ([foo class]) {} does not cast properly.
llvm-svn: 55118
2008-08-21 13:03:03 +00:00
Bill Wendling
75eeeb399e
Clean up whitespace.
...
llvm-svn: 55117
2008-08-21 08:38:54 +00:00
Chris Lattner
4eee8bfa62
remove redundant include
...
llvm-svn: 55116
2008-08-21 06:41:07 +00:00
Chris Lattner
82dfc118cc
Fix the build with gcc 4.3 as the host, patch by Zhongxing Xu!
...
llvm-svn: 55115
2008-08-21 06:25:28 +00:00
Owen Anderson
8bb9de9305
Implement operator<< in terms of basic types rather than [u]int*_t, which is better for portability. There might be some way to factor this all with metaprogramming magic, but I'm not sure how offhand.
...
llvm-svn: 55114
2008-08-21 06:20:47 +00:00
Nick Lewycky
99f4558117
Revert r54876 r54877 r54906 and r54907. Evan found that these caused a 20%
...
slowdown in bzip2.
llvm-svn: 55113
2008-08-21 05:56:10 +00:00
Chris Lattner
c1270f8eac
unbreak the CBE on treeadd an many others.
...
llvm-svn: 55112
2008-08-21 05:51:43 +00:00
Nick Lewycky
ea3637a50d
Fix build on GCC 4.3.
...
llvm-svn: 55110
2008-08-21 05:36:03 +00:00
Daniel Dunbar
66dd6382e4
Use full path to count script, and don't treat files with missing RUN
...
lines as errors.
llvm-svn: 55109
2008-08-21 04:43:28 +00:00
Daniel Dunbar
22d82ed0e2
Preliminary support for Obj-C classes in NeXT runtime.
...
- Functional for simple cases but there are some glaring omissions
(protocols, properties, and other language extensions).
- The code needs a fair bit of cleaning.
llvm-svn: 55108
2008-08-21 04:36:09 +00:00
Daniel Dunbar
5f977e7b15
Missed a test case writing a .ll file.
...
Suppress count output from 'make test' on errors (used to generate
result code).
llvm-svn: 55107
2008-08-21 04:30:23 +00:00
Eli Friedman
a64e54d3f8
Remove size_t operator; this unbreaks the build on Linux. Committing on
...
the suggestion of resistor.
If this breaks some other platform, please go ahead and back this out.
llvm-svn: 55106
2008-08-21 04:28:31 +00:00
Daniel Dunbar
746d104b3d
Reorder the PATH used during testing so $(ToolDir) and the LLVM
...
scripts dir appear before the user path.
- This is an attempt to pick up the right executables. We should
probably be substituting the exact things we want for clang a la
the LLVM test script.
llvm-svn: 55105
2008-08-21 03:03:44 +00:00
Daniel Dunbar
19d84c3c51
Update a number of CodeGen tests to not create .ll files in the test
...
directory.
- Removed .ll from the svn:ignore lists to try and prevent this.
- Added svn:ignore on test/Misc/Output
llvm-svn: 55104
2008-08-21 02:51:29 +00:00
Daniel Dunbar
10a230ded9
Update test/Makefile to allow testing when using a separate obj
...
directory.
- Also, return proper error code if testing fails.
llvm-svn: 55103
2008-08-21 02:48:23 +00:00
Chris Lattner
744299382f
recommit bcreader, handling packed structs correctly. Apparently
...
people want fast *and* correct. Sheesh.
llvm-svn: 55102
2008-08-21 02:34:16 +00:00
Eli Friedman
41d7e49e15
Remove duplicate define from Windows-x86 target.
...
llvm-svn: 55101
2008-08-21 01:56:54 +00:00
Daniel Dunbar
ad1a1de17c
Revert 55090, regressions in:
...
- Postgres
- llvm-test/SingleSource/UnitTests/{2006-01-23-InitializedBitField,
2004-11-28-GlobalBoolLayout, 2003-05-02-DependentPHI}
llvm-svn: 55100
2008-08-21 01:54:58 +00:00
Dan Gohman
fe9056584b
Basic fast-isel support for instructions with constant int operands.
...
llvm-svn: 55099
2008-08-21 01:41:07 +00:00
Eli Friedman
c968a6ab8e
Initial implementation of Windows x86 target; at the moment, the only
...
difference from generic x86 is the defines. The rest is non-trivial to
implement.
I'm not planning on adding any more targets myself; if there are any
targets anyone is currently using that are missing, feel free to add
them, or ask me to add them.
This concludes the work I'm planning for the TargetInfo
implementations at the moment; all the other issues with TargetInfo require
some API changes, and I haven't really thought it through. Some of the
remaining issues: allowing targets to define size_t and wchar_t properly,
adding some sort of __builtin_type_info intrinsic so we can finish clang's
limits.h and float.h and get rid of a massive number of macro
definitions, allowing target-specific command-line options, allowing
target-specific defaults for certain command-line options like
-fms-extensions, exposing vector alignment outside of the description
string, exposing endianness outside of the description string, allowing
targets to expose special bit-field layout requirements, exposing some
sort of custom hook for call generation in CodeGen, and adding CPU
selection to control defines like __SSE__.
llvm-svn: 55098
2008-08-21 01:40:19 +00:00
Evan Cheng
4b5c038cd0
Type of first GEP operand is always the same as the target pointer type.
...
llvm-svn: 55097
2008-08-21 01:19:11 +00:00
Dan Gohman
7b3932e5d8
Remove the code that limited FastISel to certain fixed signatures.
...
llvm-svn: 55096
2008-08-21 00:35:26 +00:00
Eli Friedman
ff594f24dd
Add Linux x86-32 target.
...
llvm-svn: 55095
2008-08-21 00:24:02 +00:00
Dan Gohman
ce8ed435dc
Improve the doxygen comment for SelectInstructions::SelectInstructions.
...
llvm-svn: 55094
2008-08-21 00:19:43 +00:00
Dan Gohman
7170623b16
Begin making more use of the FastISelEmitter class.
...
llvm-svn: 55093
2008-08-21 00:19:05 +00:00
Owen Anderson
9371964f47
Use raw_ostream throughout the AsmPrinter.
...
llvm-svn: 55092
2008-08-21 00:14:44 +00:00
Eli Friedman
873f65afe8
First cut at OS detection, taking advantage of the new generic targets.
...
This approach allows adding OS-specific targets/defines/etc. without
completely breaking unknown subtargets. No new subtargets yet, although
I plan to add x86-Linux soon. Others can add targets that they use as
needed; adding a new subtarget takes very little code.
Also does some fixups for description strings; a lot of them were
unspecified. I think all the ones I added are correct, but
they're unverified; corrections are welcome.
llvm-svn: 55091
2008-08-21 00:13:15 +00:00
Chris Lattner
0bed49ccd7
Fix an N^2 issue handling constant resolution due to RAUW in large arrays
...
this speeds up the bcreader from 6.67s to 0.12s on a testcase Daniel
provided. rdar://6158117
llvm-svn: 55090
2008-08-21 00:11:50 +00:00
Dan Gohman
6a0780cdd7
Fix unused variable warnings.
...
llvm-svn: 55089
2008-08-20 23:53:10 +00:00
Evan Cheng
f5a7e51c81
Silence a compiler warning.
...
llvm-svn: 55087
2008-08-20 23:36:48 +00:00
Eli Friedman
b9e5bed4dd
Class reorg for PPC; shouldn't be any visible changes unless I messed
...
up somehow.
This concludes the series of reorg patches for the target
implementations.
llvm-svn: 55086
2008-08-20 23:11:40 +00:00
Evan Cheng
864fcc198d
First cut, un-optimized (and untested) fast isel lowering of GetElementPtrInst.
...
llvm-svn: 55085
2008-08-20 22:45:34 +00:00
Chris Lattner
b078e28338
Add a new ConstantExpr::getWithOperands that takes any array of operands
...
instead of requiring an std::vector.
llvm-svn: 55084
2008-08-20 22:27:40 +00:00
Eli Friedman
1be92d297a
Fix a regression from my fix to PR2631. Fixes PR2692.
...
llvm-svn: 55083
2008-08-20 22:17:17 +00:00