Bill Wendling
8658bb565d
Minor code cleanup. No functionality change.
...
llvm-svn: 72198
2009-05-20 23:31:45 +00:00
Bill Wendling
744668d5af
Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.
...
llvm-svn: 72197
2009-05-20 23:28:48 +00:00
Bill Wendling
bcad77a8d5
Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.
...
llvm-svn: 72196
2009-05-20 23:24:48 +00:00
Bill Wendling
806535f908
Add comment for emit section.
...
llvm-svn: 72195
2009-05-20 23:22:40 +00:00
Bill Wendling
480ff32120
Move 'Emit' methods down to their own place.
...
llvm-svn: 72194
2009-05-20 23:21:38 +00:00
Bill Wendling
2b128d70c5
Revert r72192. It was causing a build failure.
...
llvm-svn: 72193
2009-05-20 23:19:06 +00:00
Bill Wendling
8d7533d3e5
Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with
...
the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.
llvm-svn: 72192
2009-05-20 23:04:56 +00:00
Argyrios Kyrtzidis
2b59a5fc6c
Introduce DebugScope which gets embedded into the machine instructions' DebugLoc.
...
DebugScope refers to a debug region, function or block.
llvm-svn: 72191
2009-05-20 22:57:17 +00:00
Dan Gohman
9a3964a663
Add an accessor method to return the insertion point.
...
llvm-svn: 72184
2009-05-20 21:45:41 +00:00
Owen Anderson
e147774b05
Have llvm_start_multithreaded return a bool indicating whether multithreaded
...
initialization succeeded or not, rather than just asserting.
llvm-svn: 72182
2009-05-20 21:03:06 +00:00
Owen Anderson
76ae5dde51
Tabs, be gone!
...
llvm-svn: 72180
2009-05-20 19:06:49 +00:00
Owen Anderson
5b9400d6bd
I just fail today.
...
Hopefully this fixes the last build errors on systems with GCC < 4.1.
llvm-svn: 72179
2009-05-20 19:01:50 +00:00
Owen Anderson
04911b4fee
Copy-and-paste-o.
...
llvm-svn: 72177
2009-05-20 18:47:53 +00:00
Owen Anderson
e5370f409b
Move atomic operations' definitions out of line. While this seems kind of silly,
...
all kinds of problems caused by including windows.h and/or config.h in an LLVM header.
llvm-svn: 72174
2009-05-20 18:26:15 +00:00
Bob Wilson
dd0e23610a
Minor formatting fixes.
...
llvm-svn: 72172
2009-05-20 16:30:25 +00:00
Duncan Sands
e6aab9096f
When comparing DominanceFrontier's, advance iterators
...
before erasing nodes, not after. Otherwise dom frontier
checking reads from freed memory.
llvm-svn: 72168
2009-05-20 15:12:01 +00:00
Owen Anderson
c473c81202
Compile fix for MSVC.
...
llvm-svn: 72167
2009-05-20 09:34:13 +00:00
Eli Friedman
9030c35eb4
Fix for PR4235: to build a floating-point value from integer parts,
...
build an integer and cast that to a float. This fixes a crash
caused by trying to split an f32 into two f16's.
This changes the behavior in test/CodeGen/XCore/fneg.ll because that
testcase now triggers a DAGCombine which converts the fneg into an integer
operation. If someone is interested, it's probably possible to tweak
the test to generate an actual fneg.
llvm-svn: 72162
2009-05-20 06:02:09 +00:00
Evan Cheng
1fbc2a4754
Fix test on non-darwin hosts.
...
llvm-svn: 72161
2009-05-20 05:45:36 +00:00
Evan Cheng
960983371c
Try again. Allow call to immediate address for ELF or when in static relocation mode.
...
llvm-svn: 72160
2009-05-20 04:53:57 +00:00
Evan Cheng
61da18645b
Cannot use immediate as call absolute target in PIC mode.
...
llvm-svn: 72154
2009-05-20 01:11:00 +00:00
Dan Gohman
9cbf850506
Teach SCEV::isLoopInvariant and SCEV::hasComputableLoopEvolution
...
about the convention from LoopInfo that a null Loop* means the entire
function body.
llvm-svn: 72152
2009-05-20 01:01:24 +00:00
Owen Anderson
b9a4a57699
Add llvm_start_multithreaded(), which starts up the LLVM internals in thread-safe mode. Provide double-check locking
...
initialization of ManagedStatic's when running in thread-safe mode.
llvm-svn: 72151
2009-05-20 00:39:20 +00:00
Dan Gohman
7248923a5d
Suppress the IV reversal transformation in the case that the RHS
...
of the comparison is defined inside the loop. This fixes a
use-before-def problem, because the transformation puts a use
of the RHS outside the loop.
llvm-svn: 72149
2009-05-20 00:34:08 +00:00
Owen Anderson
414dc16ab9
We need to include config.h here so that the #defines are set properly.
...
llvm-svn: 72148
2009-05-20 00:31:29 +00:00
Owen Anderson
8cf4718fcd
Forgot this file in my last commit.
...
llvm-svn: 72141
2009-05-19 22:25:55 +00:00
Owen Anderson
af5db8335b
Split the ENABLE_THREADS #define in two. Now ENABLE_THREADS indicates the ability to run multiple threads at once in the JIT, and requires only
...
mutex support. LLVM_MULTITHREADED indicates (or will indicate) the ability to run LLVM itself across multiple threads, and requires atomics support.
llvm-svn: 72140
2009-05-19 22:18:56 +00:00
Bob Wilson
335fa435dd
Fix pr4227: Handle large immediate values in inline assembly.
...
llvm-svn: 72138
2009-05-19 21:27:57 +00:00
Dan Gohman
67587ce2e9
Remove an irrelevant comment.
...
llvm-svn: 72132
2009-05-19 20:38:47 +00:00
Dan Gohman
97f70add3c
Add some more comments to the top of this file.
...
llvm-svn: 72131
2009-05-19 20:37:36 +00:00
Dan Gohman
adc70d6806
Trim unneeded #includes.
...
llvm-svn: 72130
2009-05-19 20:35:26 +00:00
Dan Gohman
d33a090efa
Make SCEVCallbackVH a private nested class inside ScalarEvolution, as
...
it's an implementation detail.
llvm-svn: 72122
2009-05-19 19:22:47 +00:00
Dan Gohman
7a97e933cd
Create ConstantExpr GEPs the correct way. This fixes
...
MultiSource/Benchmarks/Prolangs-C/football and a variety of other
failures.
llvm-svn: 72120
2009-05-19 19:18:01 +00:00
Bob Wilson
840e3281ff
Follow up on new support for memory operands in ARM inline assembly.
...
This fixes pr4233.
llvm-svn: 72115
2009-05-19 18:33:02 +00:00
Bill Wendling
670da9a22a
Forward decls.
...
llvm-svn: 72114
2009-05-19 17:52:31 +00:00
Bill Wendling
a3b8e84a57
Remove 'class' specifier.
...
llvm-svn: 72113
2009-05-19 17:51:26 +00:00
Bill Wendling
a8705a95a6
Fix to compile on VS2008.
...
llvm-svn: 72112
2009-05-19 17:50:18 +00:00
Bob Wilson
e666cc5206
Fix pr4058 and pr4059. Do not split i64 or double arguments between r3 and
...
the stack. Patch by Sandeep Patel.
llvm-svn: 72106
2009-05-19 10:02:36 +00:00
Bob Wilson
a2c462bbe9
Fix pr4091: Add support for "m" constraint in ARM inline assembly.
...
llvm-svn: 72105
2009-05-19 05:53:42 +00:00
Dan Gohman
d697a2dd8e
Remove the #ifndef NDEBUG from the FastISel debugging options. This
...
fixes dejagnu tests that use these options.
llvm-svn: 72094
2009-05-19 02:19:57 +00:00
Dan Gohman
2649491f9c
Teach SCEVExpander to expand arithmetic involving pointers into GEP
...
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casting
the pointer to i8* and emitting a GEP with that. Using GEP instructions
instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
don't use ScalarEvolution, such as BasicAliasAnalysis.
Also, make the AddrModeMatcher more aggressive in handling GEPs.
Previously it assumed that operand 0 of a GEP would require a register
in almost all cases. It now does extra checking and can do more
matching if operand 0 of the GEP is foldable. This fixes a problem
that was exposed by SCEVExpander using GEPs.
llvm-svn: 72093
2009-05-19 02:15:55 +00:00
Cristian Cadar
1e059f6080
Test commit.
...
llvm-svn: 72092
2009-05-19 01:56:08 +00:00
Dan Gohman
62070faac4
Add some comments noting how IndVarSimplify facilitates
...
LoopInfo functionality.
llvm-svn: 72091
2009-05-19 01:52:46 +00:00
Owen Anderson
6359122668
Make using an unsupported CAS size a hard error on Windows.
...
llvm-svn: 72088
2009-05-19 01:08:36 +00:00
Owen Anderson
b11bfb360d
Fix up the Windows portion of Atomic.h. This is untested, but it is my best understanding of what should work.
...
I'd be much obliged if someone on MSVC++ could try this out and let me know if it works.
llvm-svn: 72087
2009-05-19 01:07:40 +00:00
Owen Anderson
8e41adcc4d
Template CompareAndSwap function.
...
llvm-svn: 72086
2009-05-19 01:02:27 +00:00
Dale Johannesen
5668077271
Spacing fix.
...
llvm-svn: 72083
2009-05-19 00:46:42 +00:00
Mike Stump
ebf04f2843
Fix cmake builds.
...
llvm-svn: 72078
2009-05-19 00:18:14 +00:00
Owen Anderson
36a70867f4
Now that we have atomics support properly detected by configure,
...
use it to implement Atomic.h.
This expunges the code previously imported from libatomic_ops.
llvm-svn: 72077
2009-05-19 00:08:29 +00:00
Owen Anderson
b9509c55fe
Test for the presence of GCC atomic builtins at configure time. If not found,
...
disable building LLVM in thread-safe mode and print a nice warning.
Regenerate configure for these changes.
llvm-svn: 72075
2009-05-18 23:58:51 +00:00