Dale Johannesen
bdc237c2ca
Don't run test on PPC darwin.
...
llvm-svn: 111668
2010-08-20 18:29:27 +00:00
Owen Anderson
84c29a096b
Re-apply r111568 with a fix for the clang self-host.
...
llvm-svn: 111665
2010-08-20 18:24:43 +00:00
Erick Tryzelaar
fb4c5012eb
Fix vmcore.ml test.
...
llvm-svn: 111664
2010-08-20 18:24:35 +00:00
Dan Gohman
1232447361
Reword NamedMDNode's comment.
...
llvm-svn: 111663
2010-08-20 18:22:57 +00:00
Mikhail Glushenkov
18277eafb0
llvmc: Fix alias generation.
...
llvm-svn: 111662
2010-08-20 18:16:26 +00:00
Dan Gohman
12cbe696e4
Delete SlowOperationInformer, which is no longer used.
...
llvm-svn: 111661
2010-08-20 18:07:37 +00:00
Dan Gohman
a931605647
Convert DbgInfoPrinter to use errs() instead of outs().
...
llvm-svn: 111659
2010-08-20 18:03:05 +00:00
Mikhail Glushenkov
fde359c518
Add include guards to Support/Regex.h.
...
If the omission was intentional, please add a comment.
llvm-svn: 111657
2010-08-20 17:38:44 +00:00
Mikhail Glushenkov
defcda2e61
Trailing whitespace.
...
llvm-svn: 111656
2010-08-20 17:38:38 +00:00
Jim Grosbach
a23e320fe6
Add explicit initializer for UseLocalStackAllocationBlock in MFI constructor
...
llvm-svn: 111655
2010-08-20 17:34:22 +00:00
Dan Gohman
8525fe7155
Convert tools to use tool_output_file, and introduce error
...
checking to places which previously lacked it.
llvm-svn: 111651
2010-08-20 16:59:15 +00:00
Dan Gohman
2fb75f0455
Diagnose attempts to update standard output.
...
llvm-svn: 111649
2010-08-20 16:56:11 +00:00
Dan Gohman
fe99020b47
Convert FileUpdate to use tool_output_file, and to use
...
errs() instead of outs() for its verbose messages.
llvm-svn: 111648
2010-08-20 16:54:27 +00:00
Jim Grosbach
0600691fe6
properly check for whether base regs were inserted
...
llvm-svn: 111646
2010-08-20 16:48:30 +00:00
Dan Gohman
2189d1a9f3
Convert tablegen to use tool_output_file.
...
llvm-svn: 111644
2010-08-20 16:45:58 +00:00
Dan Gohman
e9a469115c
Make outs() close its file when its stream is destructed, so that
...
pending output errors are detected.
llvm-svn: 111643
2010-08-20 16:44:56 +00:00
Dan Gohman
443f2d6426
Delete raw_stdout_ostream and raw_stderr_ostream, which are unused
...
outside of outs() and errs() themselves, and they don't really
need custom classes.
llvm-svn: 111642
2010-08-20 16:39:41 +00:00
Dan Gohman
e14426aaca
Add an inspirational quote.
...
llvm-svn: 111641
2010-08-20 16:36:19 +00:00
Dan Gohman
cba5cf6b6b
Add a comment.
...
llvm-svn: 111640
2010-08-20 16:35:30 +00:00
Dan Gohman
38adfdd100
Move raw_ostream's Error flag into raw_fd_ostream, as that's the only
...
class which is using it.
llvm-svn: 111639
2010-08-20 16:34:20 +00:00
Dan Gohman
c53191aba4
Export error-handling functions in formatted_tool_output_file.
...
llvm-svn: 111638
2010-08-20 16:27:38 +00:00
Bob Wilson
da7be91e1c
Fix a typo.
...
llvm-svn: 111627
2010-08-20 14:54:37 +00:00
Erick Tryzelaar
8264a68b4c
Fix the running of ocaml tests.
...
llvm-svn: 111626
2010-08-20 14:51:26 +00:00
Erick Tryzelaar
b4d48706ca
Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.
...
llvm-svn: 111625
2010-08-20 14:51:22 +00:00
Erick Tryzelaar
34ce63a464
Fix arguments to ocaml's llvm_params.
...
Thanks to Jianzhou Zhao for finding this.
llvm-svn: 111624
2010-08-20 14:51:16 +00:00
Bob Wilson
21b62ac673
Fix some Ocaml tests: the %t substitution now returns an absolute path.
...
llvm-svn: 111623
2010-08-20 14:20:17 +00:00
Bob Wilson
6c66144eb3
The %ocamlopt setting has embedded quotes. Copy the entire value instead
...
of stopping at the first embedded quote.
llvm-svn: 111622
2010-08-20 14:19:38 +00:00
Benjamin Kramer
18f47c7105
Update LLVMC tests for r111620.
...
llvm-svn: 111621
2010-08-20 13:03:33 +00:00
Mikhail Glushenkov
3eab653285
llvmc: Do not prefix option names with AutoGenerated.
...
Since they now live in the namespace 'autogenerated'.
llvm-svn: 111620
2010-08-20 11:24:51 +00:00
Mikhail Glushenkov
024ec17332
llvmc: Cut global namespace pollution.
...
llvm-svn: 111619
2010-08-20 11:24:44 +00:00
Mikhail Glushenkov
e140dbc0cc
Disambiguate calls to WriteGraph() to disable ADL.
...
llvm-svn: 111618
2010-08-20 11:24:35 +00:00
Mikhail Glushenkov
b6476afeb8
Trailing whitespace.
...
llvm-svn: 111617
2010-08-20 11:24:31 +00:00
Bob Wilson
9a511c07e4
Replace the arm.neon.vmovls and vmovlu intrinsics with vector sign-extend and
...
zero-extend operations.
llvm-svn: 111614
2010-08-20 04:54:02 +00:00
Dan Gohman
4cc73ba337
Use tool_output_file in llvm-extract and llvm-link too.
...
llvm-svn: 111604
2010-08-20 01:12:13 +00:00
Dan Gohman
268b0f4781
Use the new tool_output_file in several tools. This fixes a variety
...
of problems with output files being left behind or output streams
being left unclosed. Fix llvm-mc to respect the -o option in all
modes, rather than hardcoding outs() in some cases.
llvm-svn: 111603
2010-08-20 01:07:01 +00:00
Dan Gohman
d3ee4238a5
Make the SCC printing passes use errs() instead of outs(), as the
...
other printing passes do, and update the documentation accordingly.
llvm-svn: 111601
2010-08-20 01:03:44 +00:00
Dan Gohman
05336d9596
Print chatty verbose messages to errs() instead of outs().
...
llvm-svn: 111599
2010-08-20 01:02:14 +00:00
Dan Gohman
061cb1cac7
Minor cleanups to follow the common convention for pass
...
registration variables.
llvm-svn: 111598
2010-08-20 01:00:03 +00:00
Dan Gohman
12bb5054b3
Minor cleanups to follow the common convention for pass
...
registration variables.
llvm-svn: 111596
2010-08-20 00:56:16 +00:00
Dan Gohman
b87ad69350
Introduce a new tool_output_file class, which extends raw_ostream with
...
functionality that most command-line tools need: ensuring that the
output file gets deleted if the tool is interrupted or encounters an
error.
llvm-svn: 111595
2010-08-20 00:48:10 +00:00
Eric Christopher
985d9e4ea8
Fix loop conditionals (MO.isDef() asserts that it's a reg) and
...
move some constraints around.
llvm-svn: 111594
2010-08-20 00:36:24 +00:00
Eric Christopher
d8e8a2945e
Add a couple of random comments.
...
llvm-svn: 111592
2010-08-20 00:20:31 +00:00
Bob Wilson
c56fef4eac
If the target says that an extending load is not legal, regardless of whether
...
it involves specific floating-point types, legalize should expand an
extending load to a non-extending load followed by a separate extend operation.
For example, we currently expand SEXTLOAD to EXTLOAD+SIGN_EXTEND_INREG (and
assert that EXTLOAD should always be supported). Now we can expand that to
LOAD+SIGN_EXTEND. This is needed to allow vector SIGN_EXTEND and ZERO_EXTEND
to be used for NEON.
llvm-svn: 111586
2010-08-19 23:52:39 +00:00
Jim Grosbach
56e56323c8
Better handling of offsets on frame index references. rdar://8277890
...
llvm-svn: 111585
2010-08-19 23:52:25 +00:00
Daniel Dunbar
f14d946379
CrashRecovery/Darwin: On Darwin, raise sends a signal to the main thread instead
...
of the current thread. This has the unfortunate effect that assert() and abort()
will end up bypassing our crash recovery attempts. We work around this for
anything in the same linkage unit by just defining our own versions of the
assert handler and abort.
llvm-svn: 111583
2010-08-19 23:45:39 +00:00
Owen Anderson
3323651ec7
Previous revert failed to remove this file.
...
llvm-svn: 111582
2010-08-19 23:45:15 +00:00
Bob Wilson
4cd4ed66c3
Update comment to remove special case for vector extending loads. An
...
extending vector load should extend each element in the same way as the
corresponding scalar extending load.
llvm-svn: 111577
2010-08-19 23:39:00 +00:00
Evan Cheng
e5af930156
Update debug logs.
...
llvm-svn: 111575
2010-08-19 23:33:02 +00:00
Evan Cheng
63a868457b
Properly update MachineDominators when splitting critical edge.
...
llvm-svn: 111574
2010-08-19 23:32:47 +00:00
Owen Anderson
43057cd56a
Revert r111568 to unbreak clang self-host.
...
llvm-svn: 111571
2010-08-19 23:25:16 +00:00
Owen Anderson
bb723b228a
When a set of bitmask operations, typically from a bitfield initialization, only modifies the low bytes of a value,
...
we can narrow the store to only over-write the affected bytes.
llvm-svn: 111568
2010-08-19 22:15:40 +00:00
Mikhail Glushenkov
b2ca0d19f2
llvmc: Update examples.
...
llvm-svn: 111553
2010-08-19 20:04:19 +00:00
Mikhail Glushenkov
34c5f1be0d
Trailing whitespace.
...
llvm-svn: 111552
2010-08-19 20:03:53 +00:00
Owen Anderson
aac8cbb261
Disable LVI while I evaluate a failure.
...
llvm-svn: 111551
2010-08-19 19:47:08 +00:00
Owen Anderson
5c87dd55d3
Tentatively enabled LVI by default. I'll be monitoring for any failures.
...
llvm-svn: 111543
2010-08-19 19:04:40 +00:00
Bill Wendling
68caaaf282
Correct header.
...
llvm-svn: 111540
2010-08-19 18:52:17 +00:00
Bill Wendling
bfba2f1725
Silence 'unused' warning.
...
llvm-svn: 111539
2010-08-19 18:52:02 +00:00
Evan Cheng
361b9be7c6
It's possible to sink a def if its local uses are PHI's.
...
llvm-svn: 111537
2010-08-19 18:33:29 +00:00
Michael J. Spencer
abca173494
Fix the msvc 2010 build.
...
The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
implements parts of C++0x based on the draft standard. An old version of
the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to
compile. This is because the template<class U, class V> pair(U&& x, V&& y)
constructor is selected, even though it later fails to implicitly convert
U and V to frist_type and second_type.
This has been fixed in n3090, but it seems that Microsoft is not going to
update msvc.
llvm-svn: 111535
2010-08-19 18:16:39 +00:00
Dale Johannesen
370c77c064
Do not assert when reading an exponent out of range.
...
llvm-svn: 111534
2010-08-19 17:58:35 +00:00
Jim Grosbach
8c58bd30dc
Add Thumb1 support for virtual frame indices.
...
rdar://8277890
llvm-svn: 111533
2010-08-19 17:52:13 +00:00
Evan Cheng
681d0c25f9
Remove disabled assertion.
...
llvm-svn: 111531
2010-08-19 17:33:48 +00:00
Evan Cheng
ae9939c839
Teach machine-sink to break critical edges when appropriate. Work in progress.
...
llvm-svn: 111530
2010-08-19 17:33:11 +00:00
Daniel Dunbar
9262abdd8f
buildbot/valgrind: Update RegisterPass false positive suppression for API
...
changes.
llvm-svn: 111529
2010-08-19 17:21:21 +00:00
Daniel Dunbar
c1e296ed40
buildbot/valgrind: Suppress warnings about leaks in /bin/grep.
...
llvm-svn: 111528
2010-08-19 17:21:17 +00:00
Eric Christopher
8250e2fe7e
Re-re-revert this patch. It seems to be causing performance
...
and correctness regressions.
llvm-svn: 111527
2010-08-19 17:21:10 +00:00
Daniel Dunbar
0d7e9538db
tests: Haste makes waste.
...
llvm-svn: 111525
2010-08-19 16:47:54 +00:00
Daniel Dunbar
471a649c6b
tests: Ignore whitespace in llvm_supports_binding() and llvm_gcc_supports().
...
llvm-svn: 111524
2010-08-19 16:46:52 +00:00
Eric Christopher
a5d60c62b1
Silence warning.
...
llvm-svn: 111518
2010-08-19 15:35:27 +00:00
Benjamin Kramer
448886d5df
MCELF: Count the section orders properly. Patch by Roman Divacky.
...
llvm-svn: 111517
2010-08-19 13:44:49 +00:00
Kenneth Uildriks
d4b6ab9888
Fixed and reactivated a partial specialization test
...
llvm-svn: 111516
2010-08-19 12:42:38 +00:00
Eli Friedman
33087a7fe4
Use std::string instead of StringRef in ClangAttrEmitter.cpp; per report on
...
cfe-dev, fixes an error compiling with MSVC. Using a StringRef here doesn't
look safe in any case.
llvm-svn: 111513
2010-08-19 06:11:05 +00:00
Jim Grosbach
743d7c80e4
Update local stack block allocation to let PEI do the allocs if no additional
...
base registers were required. This will allow for slightly better packing
of the locals when alignment padding is necessary after callee saved registers.
llvm-svn: 111508
2010-08-19 02:47:08 +00:00
Dan Gohman
f71c521fb7
Revert r111199; it breaks -debug-pass=Structure output.
...
llvm-svn: 111500
2010-08-19 01:29:07 +00:00
Eric Christopher
a0d40e2b4c
Reapply the virtual register patch from 109102. The places where we were
...
depending on the number of virtual registers appear to have all been handled
now.
llvm-svn: 111499
2010-08-19 01:25:50 +00:00
Chris Lattner
f547740d3f
fix PR7465, mishandling of lcall and ljmp: intersegment long
...
call and jumps.
llvm-svn: 111496
2010-08-19 01:18:43 +00:00
Dan Gohman
129a816ee6
Process the step before the start, because it's usually the simpler
...
of the two.
llvm-svn: 111495
2010-08-19 01:02:31 +00:00
Chris Lattner
beb506eeed
minor progress towards fixing PR7465
...
llvm-svn: 111494
2010-08-19 01:00:34 +00:00
Eric Christopher
0d274a0258
Add an AddOptionalDefs method and use it.
...
llvm-svn: 111489
2010-08-19 00:37:05 +00:00
Daniel Dunbar
27b91a7410
lit/GoogleTest: Add .exe to the suffix when looking for tests.
...
llvm-svn: 111487
2010-08-19 00:22:45 +00:00
Alexis Hunt
db5382093d
Add include missing for VC build.
...
llvm-svn: 111484
2010-08-19 00:19:03 +00:00
Dale Johannesen
8d5f0208f2
Testcase for llvm-gcc checkin 111482.
...
llvm-svn: 111483
2010-08-19 00:09:07 +00:00
Bill Wendling
768d3b510c
Add the "isCompare" attribute to the defm instead of each individual instr.
...
llvm-svn: 111481
2010-08-19 00:05:48 +00:00
Alexis Hunt
fa9fd03e2d
Remove three spurious semicolons
...
llvm-svn: 111480
2010-08-19 00:03:05 +00:00
Jakob Stoklund Olesen
92d57cee61
Don't call Predicate_* in Mips.
...
llvm-svn: 111468
2010-08-18 23:56:46 +00:00
Eric Christopher
8a70781cac
Remove extra header.
...
llvm-svn: 111456
2010-08-18 23:38:16 +00:00
Alexis Hunt
1d2b159882
Finish full attribute class emission for clang.
...
For more information, see the accompanying clang patch.
llvm-svn: 111454
2010-08-18 23:23:09 +00:00
Jim Grosbach
3ac059369b
Add a newline to debug output
...
llvm-svn: 111453
2010-08-18 23:14:02 +00:00
Chris Lattner
3decde9305
refix PR1143 by making basicaa analyze zexts of indices aggresively,
...
which I broke with a recent patch.
llvm-svn: 111452
2010-08-18 23:09:49 +00:00
Evan Cheng
25b6068b8f
If any def of a machine-sink candidate has local uses, it's obviously not safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking.
...
llvm-svn: 111450
2010-08-18 23:09:25 +00:00
Chris Lattner
26403acef7
GetLinearExpression is only called when TD is non-null, pass as
...
a reference instead of pointer.
llvm-svn: 111445
2010-08-18 22:52:09 +00:00
Chris Lattner
1b9c38796e
rework GEP decomposition to make a new VariableGEPIndex struct instead of
...
using a pair. This tidies up the code a bit. While setting things up, add
a (currently unused) field to keep track of how the value is extended.
llvm-svn: 111444
2010-08-18 22:47:56 +00:00
Jim Grosbach
dbfc2ce95d
Enable ARM base register reuse to local stack slot allocation. Whenever a new
...
frame index reference to an object in the local block is seen, check if
it's near enough to any previously allocaated base register to re-use.
rdar://8277890
llvm-svn: 111443
2010-08-18 22:44:49 +00:00
Dan Gohman
492c2ea31e
Add a testcase to verify that commands don't crash when they hit
...
errors on stderr.
llvm-svn: 111440
2010-08-18 22:35:56 +00:00
Dan Gohman
c825ceefb4
Make raw_fd_ostream consider itself the owner of STDOUT_FILENO when
...
constructed with an output filename of "-". In particular, allow the
file descriptor to be closed, and close the file descriptor in the
destructor if it hasn't been explicitly closed already, to ensure
that any write errors are detected.
llvm-svn: 111436
2010-08-18 22:26:19 +00:00
Dan Gohman
82656fb0e1
When sending stats output to stdout for grepping, don't emit normal
...
output to standard output also.
llvm-svn: 111435
2010-08-18 22:22:44 +00:00
Chris Lattner
9f7500f57b
move gep decomposition out of ValueTracking into BasicAA. The form of
...
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
Now with less tree breakingness.
llvm-svn: 111433
2010-08-18 22:07:29 +00:00
Dan Gohman
3490ff4002
Tidy.
...
llvm-svn: 111432
2010-08-18 22:04:43 +00:00
Bill Wendling
ad2aa57774
Minor simplification. Gets rid of a needless temporary.
...
llvm-svn: 111430
2010-08-18 21:32:07 +00:00
Owen Anderson
80d19f0905
Use ConstantRange to propagate information through value definitions.
...
llvm-svn: 111425
2010-08-18 21:11:37 +00:00
Dan Gohman
2470818942
When sending stats output to stdout for grepping, don't emit normal
...
output to standard output also.
llvm-svn: 111401
2010-08-18 20:32:46 +00:00
Jakob Stoklund Olesen
e98030ad58
Thinking about it, we don't need MachineDominatorTree after all. The DomValue
...
map discovers the iterated dominance frontier for free.
llvm-svn: 111400
2010-08-18 20:29:53 +00:00
Dan Gohman
50377a366f
Introduce a ScopedFatalErrorHandler class to make it easy to register
...
fatal error handlers which automatically get unregistered at the end
of a scope.
llvm-svn: 111398
2010-08-18 20:16:39 +00:00
Jakob Stoklund Olesen
f4088b022a
Revert r111394. It was too aggressive.
...
We must complete the DFS, otherwise we might miss needed phi-defs, and
prematurely color live ranges with a non-dominating value.
This is not a big deal since we get to color more of the CFG and the next
mapValue call will be faster.
llvm-svn: 111397
2010-08-18 20:06:05 +00:00
Jakob Stoklund Olesen
5b4cb08471
Aggressively prune the DFS when inserting phi-defs.
...
llvm-svn: 111394
2010-08-18 19:00:11 +00:00
Jakob Stoklund Olesen
ce6f055b4d
Add the LiveIntervalMap class. Don't hook it up yet.
...
LiveIntervalMap maps values from a parent LiveInterval to a child interval that
is a strict subset. It will create phi-def values as needed to preserve the
VNInfo SSA form in the child interval.
This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with
enough differences that the code can't be reused:
- We don't need to manipulate PHI instructions.
- LiveIntervals have kills.
- We have MachineDominatorTree.
- We can use df_iterator.
llvm-svn: 111393
2010-08-18 19:00:08 +00:00
Jakob Stoklund Olesen
2ba69d2313
Add df_iterator::getPathLength and getPath as a way of getting a path from the
...
entry node to the current node.
llvm-svn: 111392
2010-08-18 19:00:05 +00:00
Daniel Dunbar
fbeeb130d8
Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. The
...
form of", it doesn't pass tests.
llvm-svn: 111385
2010-08-18 18:43:08 +00:00
Bill Wendling
0d323aef46
Improve whitespace.
...
llvm-svn: 111384
2010-08-18 18:41:13 +00:00
Bill Wendling
817e857b13
Marked with ATTRIBUTE_USED so that clang doesn't complain.
...
llvm-svn: 111383
2010-08-18 18:40:57 +00:00
Owen Anderson
208636fa33
Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.
...
llvm-svn: 111382
2010-08-18 18:39:01 +00:00
Daniel Dunbar
8e92d9b68d
MC/ELF: Allow null values in virtual sections, ELF doesn't use special
...
directives for putting contents in .bss, for example.
llvm-svn: 111376
2010-08-18 18:22:37 +00:00
Chris Lattner
54fe883203
move gep decomposition out of ValueTracking into BasicAA. The form of
...
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
llvm-svn: 111375
2010-08-18 18:22:17 +00:00
Jim Grosbach
e0e9b3013f
Add hook for re-using virtual base registers for local stack slot access.
...
Nothing fancy, just ask the target if any currently available base reg
is in range for the instruction under consideration and use the first one
that is. Placeholder ARM implementation simply returns false for now.
ongoing saga of rdar://8277890
llvm-svn: 111374
2010-08-18 17:57:37 +00:00
Dan Gohman
7ba6f22b47
Eliminate some redundancy by relying on raw_fd_ostream to handle "-"
...
properly.
llvm-svn: 111373
2010-08-18 17:55:15 +00:00
Dan Gohman
083330a8f2
Allow the -analyze option to follow the -o option, which defaults to
...
standard output, instead of just hardcoding outs().
llvm-svn: 111372
2010-08-18 17:42:59 +00:00
Dan Gohman
b01aed1cb2
Don't translate "-" to outs() manually; raw_ostream does that automatically.
...
llvm-svn: 111371
2010-08-18 17:40:10 +00:00
Dan Gohman
80f9de4bb5
Don't translate "-" to outs() manually; raw_ostream does that
...
automatically.
llvm-svn: 111370
2010-08-18 17:26:50 +00:00
Dan Gohman
6111d7c05b
Don't register stdout to be deleted on a signal.
...
llvm-svn: 111368
2010-08-18 17:21:42 +00:00
Dan Gohman
3d051ff2bc
Remove an unused command-line option.
...
llvm-svn: 111367
2010-08-18 17:20:51 +00:00
Jakob Stoklund Olesen
952a621d93
Preserve subregs on PHI source operands. Patch by Krister Wombell!
...
llvm-svn: 111366
2010-08-18 16:09:47 +00:00
Kalle Raiskila
e60b5161d1
Fix a bug with insertelement on SPU.
...
The previous algorithm in LowerVECTOR_SHUFFLE
didn't check all requirements for "monotonic" shuffles.
llvm-svn: 111361
2010-08-18 10:20:29 +00:00
Kalle Raiskila
ab49360f59
Remove all traces of v2[i,f]32 on SPU.
...
The "half vectors" are now widened to full size by the legalizer.
The only exception is in parameter passing, where half vectors are
expanded. This causes changes to some dejagnu tests.
llvm-svn: 111360
2010-08-18 10:04:39 +00:00
Kalle Raiskila
f3984d1ef6
Change SPU C calling convention to match that described in
...
"SPU Application Binary Interface Specification, v1.9" by
IBM.
Specifically: use r3-r74 to pass parameters and the return value.
llvm-svn: 111358
2010-08-18 09:50:30 +00:00
Chris Lattner
a25c05ed15
fix a buggy test
...
llvm-svn: 111354
2010-08-18 04:55:12 +00:00
Chris Lattner
a33edcb56c
fix PR7589: In brief:
...
gep P, (zext x) != gep P, (sext x)
DecomposeGEPExpression was getting this wrong, confusing
basicaa.
llvm-svn: 111352
2010-08-18 04:28:19 +00:00
Chris Lattner
c8e38eb60b
filecheckize and detrivialize.
...
llvm-svn: 111350
2010-08-18 04:25:43 +00:00
Chris Lattner
3c603024bb
Fix PR7755: knowing something about an inval for a pred
...
from the LHS should disable reconsidering that pred on the
RHS. However, knowing something about the pred on the RHS
shouldn't disable subsequent additions on the RHS from
happening.
llvm-svn: 111349
2010-08-18 03:14:36 +00:00
Chris Lattner
f0b5b67ba5
fit in 80 cols
...
llvm-svn: 111348
2010-08-18 03:13:35 +00:00
Chris Lattner
2edfdd289f
remove some dead code.
...
llvm-svn: 111345
2010-08-18 02:42:11 +00:00
Chris Lattner
b45de95345
remove some dead code.
...
llvm-svn: 111344
2010-08-18 02:41:56 +00:00
Chris Lattner
3e3e63efe1
remove some code that is dead now that lea's are modeled with segment registers.
...
llvm-svn: 111343
2010-08-18 02:40:44 +00:00
Chris Lattner
6aabb66139
remove dead prototype.
...
llvm-svn: 111342
2010-08-18 02:37:06 +00:00
Bob Wilson
fb7eaff759
Expand ZERO_EXTEND operations for NEON vector types.
...
Testcase from Nick Lewycky.
llvm-svn: 111341
2010-08-18 01:45:52 +00:00
Dan Gohman
a610304ed9
Fix the "Finished Creating" messages for aliases to print the
...
right name.
llvm-svn: 111340
2010-08-18 01:35:53 +00:00
Dan Gohman
44790e7aa7
Revert r111321. This doesn't fix a problem.
...
llvm-svn: 111339
2010-08-18 01:34:52 +00:00
Chris Lattner
b91c903f46
stomp some more undefined behavior, PR7775.
...
llvm-svn: 111337
2010-08-18 00:33:47 +00:00
Chris Lattner
816191bcad
don't emit zero bit fields with Emit, fixing undefined behavior,
...
PR7778
llvm-svn: 111336
2010-08-18 00:29:18 +00:00
Chris Lattner
03e17f8387
Don't pass in a null pointer to std::string's ctor, an empty string
...
ref should produce an empty std::string. This fixes PR7879.
llvm-svn: 111332
2010-08-18 00:11:25 +00:00
Chris Lattner
249b976ed2
fix a broken link
...
llvm-svn: 111326
2010-08-17 23:26:04 +00:00
Chris Lattner
7aa9eb16fd
include config.h to get config params, hopefully unbreaking mingw builder.
...
llvm-svn: 111325
2010-08-17 23:22:10 +00:00
Chris Lattner
ce3b2c3f77
Fix the rest of rdar://8318441 which happens when a raw_fd_ostream
...
(e.g. errs()) fails in close() due to (e.g.) a broken pipe. As
previously written, the had_error() flag would get set and then
the raw_ostream dtor would report a fatal error. There is nothing
the client can do about this and we have no way to report the error,
so just eat it.
llvm-svn: 111321
2010-08-17 23:11:56 +00:00
Chris Lattner
6217082dc3
report_fatal_error can't use errs(), because errs() can call
...
into report_fatal_error. Just blast the string to stderr with write(2)
and hope for the best! Part of rdar://8318441
llvm-svn: 111320
2010-08-17 23:03:53 +00:00
Eric Christopher
51edc7b7e1
Temporarily revert r110987 as it's causing some miscompares in
...
vector heavy code. I'll re-enable when we've tracked down the problem.
llvm-svn: 111318
2010-08-17 22:55:27 +00:00
Dan Gohman
ed2b005842
Tweak IVUsers' concept of "interesting" to exclude add recurrences
...
where the step value is an induction variable from an outer loop, to
avoid trouble trying to re-expand such expressions. This effectively
hides such expressions from indvars and lsr, which prevents them
from getting into trouble.
llvm-svn: 111317
2010-08-17 22:50:37 +00:00
Jim Grosbach
3cf08661f4
Add materialization of virtual base registers for frame indices allocated into
...
the local block. Resolve references to those indices to a new base register.
For simplification and testing purposes, a new virtual base register is
allocated for each frame index being resolved. The result is truly horrible,
but correct, code that's good for exercising the new code paths.
Next up is adding thumb1 support, which should be very simple. Following that
will be adding base register re-use and implementing a reasonable ARM
heuristic for when a virtual base register should be generated at all.
llvm-svn: 111315
2010-08-17 22:41:55 +00:00
Evan Cheng
efdc74ea59
Add nounwind.
...
llvm-svn: 111312
2010-08-17 22:35:20 +00:00
Daniel Dunbar
09b0c78918
CrashRecovery: Clear the current context on the first crash, to avoid re-entering it if the cleanup code crashes.
...
llvm-svn: 111309
2010-08-17 22:32:39 +00:00
Daniel Dunbar
b30266ed20
CrashRecovery: Add CrashRecoveryContext::GetCurrent(), so clients can find the active context from anywhere.
...
llvm-svn: 111308
2010-08-17 22:32:37 +00:00
Daniel Dunbar
ff329942cd
CrashRecovery: Make CrashRecoveryContext static methods thread safe.
...
llvm-svn: 111307
2010-08-17 22:32:34 +00:00
Dale Johannesen
16f96445c3
Make fast scheduler handle asm clobbers correctly.
...
PR 7882. Follows suggestion by Amaury Pouly, thanks.
llvm-svn: 111306
2010-08-17 22:17:24 +00:00
Anton Korobeynikov
88c09879c7
Revert part of one of the prev. patches - tailjmp will follow later.
...
llvm-svn: 111291
2010-08-17 21:08:28 +00:00
Anton Korobeynikov
231ab847ca
More fixes for win64:
...
- Do not clobber al during variadic calls, this is AMD64 ABI-only feature
- Emit wincall64, where necessary
Patch by Cameron Esfahani!
llvm-svn: 111289
2010-08-17 21:06:07 +00:00
Anton Korobeynikov
cd78af6e3c
Enable more win64 calls folding opportunities.
...
Patch by Cameron Esfahani!
llvm-svn: 111288
2010-08-17 21:06:01 +00:00
Anton Korobeynikov
14be4dff8e
Add some win64 coff goodness.
...
Patch by Cameron Esfahani!
llvm-svn: 111287
2010-08-17 21:05:54 +00:00
Evan Cheng
16bfe5b0f5
PHI elimination shouldn't require machineloopinfo since it's used at -O0. Move the requirement to LiveIntervalAnalysis instead. Note this does not change the number of times machineloopinfo is computed.
...
llvm-svn: 111285
2010-08-17 21:00:37 +00:00
Evan Cheng
e0db9d01d9
Machine CSE preserves CFG. Pass manager was freeing machineloopinfo after machine cse before.
...
llvm-svn: 111281
2010-08-17 20:57:42 +00:00
Jakob Stoklund Olesen
e2cbaf6ed7
Don't call tablegen'ed Predicate_* functions in the ARM target.
...
llvm-svn: 111277
2010-08-17 20:39:04 +00:00
Jim Grosbach
1a58ce7646
silence warning
...
llvm-svn: 111274
2010-08-17 20:21:30 +00:00
Benjamin Kramer
da7604f53d
Remove dead code. Fixes a GCC warning.
...
llvm-svn: 111271
2010-08-17 19:45:05 +00:00
Anton Korobeynikov
b356426046
This patch enables "make unittests" on enable-shared/mingw.
...
Patch by Takumi Nakamura!
llvm-svn: 111270
2010-08-17 19:34:40 +00:00
Anton Korobeynikov
51b8b1d36c
This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
...
Patch by Takumi Nakamura!
llvm-svn: 111268
2010-08-17 19:03:03 +00:00
Jim Grosbach
62800a990b
80 column cleanup.
...
llvm-svn: 111266
2010-08-17 18:39:16 +00:00
Benjamin Kramer
1afba421a9
Sketch i386 relocations handling, from Roman Divacky.
...
Hello world builds & runs now on i386/ELF with -integrated-as.
llvm-svn: 111264
2010-08-17 18:20:28 +00:00
Jakob Stoklund Olesen
f02b4a686a
Don't call Predicate_* methods directly from Sparc target.
...
Modernize predicates a bit.
The Predicate_* methods are not used by TableGen any longer. They are only
emitted for the sake of legacy code.
llvm-svn: 111263
2010-08-17 18:17:12 +00:00
Jim Grosbach
c252ee2375
Add hook to examine an instruction referencing a frame index to determine
...
whether to allocate a virtual frame base register to resolve the frame
index reference in it. Implement a simple version for ARM to aid debugging.
In LocalStackSlotAllocation, scan the function for frame index references
to local frame indices and ask the target whether to allocate virtual
frame base registers for any it encounters. Purely infrastructural for
debug output. Next step is to actually allocate base registers, then add
intelligent re-use of them.
rdar://8277890
llvm-svn: 111262
2010-08-17 18:13:53 +00:00
Jim Grosbach
8995a1018c
explicitly handle no-op cases for clarity. Fixes clang warning.
...
llvm-svn: 111260
2010-08-17 18:00:41 +00:00
Benjamin Kramer
fd0541566b
Use the correct entry size for relocation entries, from Roman Divacky.
...
llvm-svn: 111259
2010-08-17 17:56:13 +00:00
Evan Cheng
647c559172
Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop.
...
llvm-svn: 111256
2010-08-17 17:43:50 +00:00
Dan Gohman
5047ca0c02
When rotating loops, put the original header at the bottom of the
...
loop, making the resulting loop significantly less ugly. Also, zap
its trivial PHI nodes, since it's easy.
llvm-svn: 111255
2010-08-17 17:39:21 +00:00
Jim Grosbach
a927736604
remove trailing whitespace
...
llvm-svn: 111254
2010-08-17 17:37:22 +00:00
Benjamin Kramer
1fe76565d0
Differentiate between RELA and REL relocations, from Roman Divacky.
...
llvm-svn: 111252
2010-08-17 17:30:07 +00:00
Bob Wilson
942b10f511
Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoid
...
printing "lsl #0". This fixes the remaining parts of pr7792. Make
corresponding changes for encoding/decoding these instructions.
llvm-svn: 111251
2010-08-17 17:23:19 +00:00
Evan Cheng
a6848249ee
Fix debug message.
...
llvm-svn: 111250
2010-08-17 17:15:14 +00:00
Chris Lattner
54a7be757b
add some 's to a pre to avoid newlines being eaten
...
and the formatting being thrown off. I admit to not knowing
what is going on here.
llvm-svn: 111249
2010-08-17 17:13:42 +00:00
Dan Gohman
941020ed72
Use the getUniquePredecessor() utility function, instead of doing
...
what it does manually.
llvm-svn: 111248
2010-08-17 17:07:02 +00:00
Benjamin Kramer
896bd7e932
One baby step towards i386 ELF, from Roman Divacky.
...
llvm-svn: 111247
2010-08-17 17:02:29 +00:00
Chris Lattner
72a364c107
fix emacs language spec's, patch by Edmund Grimley-Evans!
...
llvm-svn: 111241
2010-08-17 16:20:04 +00:00
Nick Lewycky
83a09f0b4f
When creating a JIT, try to load the program so that we can resolve symbols
...
against it. This affects Windows.
llvm-svn: 111240
2010-08-17 16:19:18 +00:00
Benjamin Kramer
81c7c50ca8
Revert r111230, we have to find a better place for the host-specific code.
...
llvm-svn: 111232
2010-08-17 15:50:23 +00:00
Chris Lattner
2c76ae54e5
Fix failure of unittests/ExecutionEngine/JIT/MultiJITTest.cpp on
...
cygwin when built with ENABLE_SHARED=1. Patch by NAKAMURA Takumi!
llvm-svn: 111231
2010-08-17 15:42:43 +00:00
Benjamin Kramer
b13847aeca
Micro-optimize MCObjectWriter to do a byteswap if necessary and then write the
...
whole integer to the stream instead of doing byte-sized writes.
llvm-svn: 111230
2010-08-17 13:55:45 +00:00
Benjamin Kramer
349ded1907
There is this new "LLVM" compiler that supports __builtin_bswap but thinks it's gcc 4.2.
...
llvm-svn: 111228
2010-08-17 11:45:38 +00:00
Bob Wilson
411dfad981
Allow more cases of undef shuffle indices and add tests for them.
...
llvm-svn: 111226
2010-08-17 05:54:34 +00:00
Evan Cheng
8b637b177c
Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled.
...
llvm-svn: 111224
2010-08-17 01:34:49 +00:00
Eric Christopher
541f8012d9
Fix typo.
...
llvm-svn: 111223
2010-08-17 01:30:33 +00:00
Eric Christopher
09f757d4bc
Copy over some overridden MI wrappers for ARM fast-isel. This is where
...
we're adding predicates and optional defs to the MachineInstrs.
llvm-svn: 111222
2010-08-17 01:25:29 +00:00
Evan Cheng
f259efde47
PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994
...
good:
LBB0_2:
mov r2, r0
. . .
mov r1, r2
bne LBB0_2
bad:
LBB0_2:
mov r2, r0
. . .
@ BB#3:
mov r1, r2
b LBB0_2
llvm-svn: 111221
2010-08-17 01:20:36 +00:00
Eric Christopher
d84dbb5caf
Remove predicate workaround, we're going to require that predicate
...
and optional def operands are handled in the backend support.
llvm-svn: 111220
2010-08-17 01:18:37 +00:00
Eric Christopher
663f49900d
Make arm fast-isel possible to enable via command line.
...
llvm-svn: 111219
2010-08-17 00:46:57 +00:00
Benjamin Kramer
b962ca0ce5
Try to silence a overeager GCC warning.
...
llvm-svn: 111214
2010-08-17 00:33:24 +00:00
Benjamin Kramer
5f237942f5
A round of minor cleanups for ELFObjectWriter.
...
llvm-svn: 111213
2010-08-17 00:00:46 +00:00
Bob Wilson
eee4824f74
Add a testcase for svn 111208.
...
llvm-svn: 111212
2010-08-16 23:44:29 +00:00
Owen Anderson
fa7d44687f
Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.
...
llvm-svn: 111210
2010-08-16 23:42:33 +00:00
Bob Wilson
c350e7a509
Ignore undef shuffle indices when checking for a VTRN shuffle. Radar 8290937.
...
llvm-svn: 111208
2010-08-16 23:37:17 +00:00
Jim Grosbach
a7c562d664
tidy up. remove unused local.
...
llvm-svn: 111206
2010-08-16 23:26:09 +00:00
Benjamin Kramer
be6cca2b7d
Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.
...
llvm-svn: 111201
2010-08-16 23:00:12 +00:00
Dan Gohman
6304db3896
The plural of analysis is analyses.
...
llvm-svn: 111200
2010-08-16 22:57:28 +00:00
Dan Gohman
55cd6aadc9
Make dumpPassStructure be a PMDataManager abstraction, rather than
...
a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.
This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.
llvm-svn: 111199
2010-08-16 22:45:12 +00:00
Jim Grosbach
36d5ec383e
Better handle alignment requirements for local objects in pre-regalloc frame
...
mapping. Have the local block track its alignment requirement, and then
apply that when the block itself is allocated. Previously, offsets could
get adjusted in PEI to be different, relative to one another, than the
block allocation thought they would be, which defeats the point of doing
the allocation this way. Continuing rdar://8277890
llvm-svn: 111197
2010-08-16 22:30:41 +00:00
Bob Wilson
804f6159f1
Generalize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
...
that the high halfword is zero. The shift need not be exactly 16 bits.
llvm-svn: 111196
2010-08-16 22:26:55 +00:00
Bob Wilson
3fd1e0dcda
Convert test to FileCheck.
...
llvm-svn: 111195
2010-08-16 22:21:13 +00:00
Dan Gohman
d42cc46f43
Make some of PMTopLevelManager's members non-public. In particular,
...
make its constructor protected.
llvm-svn: 111193
2010-08-16 22:03:47 +00:00
Dan Gohman
3061485624
Remove redundant inline keywords.
...
llvm-svn: 111192
2010-08-16 21:57:30 +00:00
Dan Gohman
e85c619980
Eliminate the TopLevelManagerType enum; instead, just make
...
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
llvm-svn: 111189
2010-08-16 21:38:42 +00:00
Eli Friedman
2444da0652
Comment out some broken/unused/useless instructions which mess up disassembly.
...
llvm-svn: 111185
2010-08-16 21:18:51 +00:00
Eli Friedman
1fe0d53aec
Fixes for generation of ELF relocations. Patch by Roman Divacky.
...
llvm-svn: 111183
2010-08-16 21:17:09 +00:00
Eli Friedman
51ec745509
Don't attempt to SimplifyShortMoveForm in 64-bit mode.
...
llvm-svn: 111182
2010-08-16 21:03:32 +00:00
Eli Friedman
7e2f4ce439
Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
...
emission.
llvm-svn: 111177
2010-08-16 20:08:40 +00:00
Eli Friedman
b20b5249d2
Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.
...
llvm-svn: 111175
2010-08-16 19:15:06 +00:00
Matt Fleming
6c1ad4835e
Add ELF ObjectWriter and Streamer support.
...
I forgot to add these files in commit 111172.
llvm-svn: 111174
2010-08-16 18:57:57 +00:00
Matt Fleming
f751d856f0
Hookup ELF support for X86.
...
llvm-svn: 111173
2010-08-16 18:36:14 +00:00
Matt Fleming
d83b927897
Add ELF ObjectWriter and Streamer support.
...
llvm-svn: 111172
2010-08-16 18:35:43 +00:00
Matt Fleming
9cecd63b07
Layout helper function.
...
Introduce a helper method to add a section to the end of a layout. This
will be used by the ELF ObjectWriter code to add the metadata sections
(symbol table, etc) to the end of an object file.
llvm-svn: 111171
2010-08-16 18:35:06 +00:00
Matt Fleming
c6beca522c
Record a symbol's size which is needed for ELF symbol tables.
...
llvm-svn: 111170
2010-08-16 18:34:31 +00:00
Matt Fleming
037292df7d
ELF entry size support.
...
Some ELF sections contain fixed-sized entries. Provide a way to record
the entry size of a section.
llvm-svn: 111169
2010-08-16 18:33:46 +00:00
Bob Wilson
481d7a9ab4
Rename sat_shift operand to shift_imm, in preparation for using it for other
...
instructions besides saturate instructions. No functional changes.
llvm-svn: 111168
2010-08-16 18:27:34 +00:00
Jakob Stoklund Olesen
2cd00737c0
Partially revert r111155. It looks like MSVC is calling an operator<() that
...
clang says is unused.
llvm-svn: 111167
2010-08-16 18:24:54 +00:00
Jim Grosbach
8be0196afe
track local frame size in MFI, not local to the pass, since PEI needs it.
...
llvm-svn: 111164
2010-08-16 18:06:15 +00:00
Dan Gohman
a573c41435
Revert r111031. The way LLVM defines loop invariance, the property of an
...
expression being loop invariant is not equivalent to the property of
properly dominating the loop header.
Other optimizations have also made this optimization less important.
llvm-svn: 111160
2010-08-16 17:34:25 +00:00
Jakob Stoklund Olesen
5f72a04ba7
Remove unused functions.
...
llvm-svn: 111156
2010-08-16 17:18:20 +00:00
Jakob Stoklund Olesen
b7f872197a
Remove unused functions.
...
llvm-svn: 111155
2010-08-16 17:18:18 +00:00
Bob Wilson
8303fbbcf9
Remove unused code.
...
llvm-svn: 111154
2010-08-16 17:06:03 +00:00
Bob Wilson
8f553757c4
Convert a test to use FileCheck.
...
llvm-svn: 111153
2010-08-16 17:05:27 +00:00
Dan Gohman
d0ceccd9fd
Placate overzealous compiler warnings.
...
llvm-svn: 111152
2010-08-16 17:01:55 +00:00
Dan Gohman
797a1dbb1c
To create a copy of a SmallVector with an element removed from the
...
middle, copy the elements in two groups, rather than copying all the
elements and then doing an erase on the middle of the result. These
are SmallVectors, so we shouldn't expect to hit dynamic allocation
in the common case.
llvm-svn: 111151
2010-08-16 16:57:24 +00:00
Bob Wilson
57825eea36
Install Embedded builds into usr/local. Radar 8313723.
...
llvm-svn: 111149
2010-08-16 16:39:59 +00:00
Chris Lattner
1218ed824d
silence a vc2010 warning: " result of 32-bit shift implicitly converted to
...
64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev
llvm-svn: 111148
2010-08-16 16:35:20 +00:00
Dan Gohman
0d0cc18af5
Tidy whitespace.
...
llvm-svn: 111147
2010-08-16 16:34:09 +00:00
Dan Gohman
c29eeaecec
Add a comment.
...
llvm-svn: 111145
2010-08-16 16:31:39 +00:00
Dan Gohman
7eac4961d7
Use const_iterator in a few places.
...
llvm-svn: 111144
2010-08-16 16:30:01 +00:00
Dan Gohman
74c61503b1
Use iterators instead of indices in a few more places.
...
llvm-svn: 111143
2010-08-16 16:27:53 +00:00
Dan Gohman
f29618236e
Micro-optimize SCEVConstant comparison.
...
llvm-svn: 111142
2010-08-16 16:25:35 +00:00
Dan Gohman
3688ea5c7d
Move SCEVNAryExpr's virtual member functions out of line, and convert
...
them to iterators.
llvm-svn: 111140
2010-08-16 16:21:27 +00:00
Dan Gohman
d6925bbe0d
Use iterators instead of indices in simple cases.
...
llvm-svn: 111138
2010-08-16 16:16:11 +00:00
Dan Gohman
b6c773ec2e
Avoid gratuitous inefficiency in ifndef NDEBUG code.
...
llvm-svn: 111137
2010-08-16 16:13:54 +00:00
Dan Gohman
e5fb1036e6
Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one
...
for each add instruction. Ditto for Mul.
llvm-svn: 111136
2010-08-16 16:03:49 +00:00
Dan Gohman
b094b39111
Delete an unused function.
...
llvm-svn: 111135
2010-08-16 15:57:14 +00:00
Dan Gohman
89fdbaf99a
Instead of having CollectSubexpr's categorize operands as interesting or
...
uninteresting, just put all the operands on one list and make
GenerateReassociations make the decision about what's interesting.
This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call.
llvm-svn: 111133
2010-08-16 15:50:00 +00:00
Dan Gohman
9b7632df26
Put add operands in ScalarEvolution-canonical order, when convenient.
...
This isn't necessary, because ScalarEvolution sorts them anyway,
but it's tidier this way.
llvm-svn: 111132
2010-08-16 15:39:27 +00:00
Dan Gohman
f99ba9671e
Specialize FoldingSetTrait<SCEV>, providing implementations of node
...
comparison and hash computation which don't require constructing
temporary ID values.
llvm-svn: 111131
2010-08-16 15:31:45 +00:00
Dan Gohman
9c9ce53b29
Add hooks to FoldingSetTrait to allow specializations to provide
...
implementations of equality comparison and hash computation. This
can be used to optimize node lookup by avoiding creating lots of
temporary ID values just for hashing and comparison purposes.
llvm-svn: 111130
2010-08-16 15:30:39 +00:00
Dan Gohman
b8640b6d73
Tidy up whitespace in comments.
...
llvm-svn: 111129
2010-08-16 15:04:39 +00:00
Dan Gohman
02341b2023
Constify FoldingSetNodeIDRef's Data.
...
llvm-svn: 111128
2010-08-16 15:03:24 +00:00
Dan Gohman
27c98e6303
Reverse the order of GetNodeProfile's arguments, for consistency
...
with FoldingSetTrait::Profile.
llvm-svn: 111127
2010-08-16 14:53:42 +00:00
Dan Gohman
1cab72a44f
Fix indentation in example code in a comment.
...
llvm-svn: 111125
2010-08-16 14:45:36 +00:00
Dan Gohman
6e964c7fb4
Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't
...
actually use ScalarEvolution.
llvm-svn: 111124
2010-08-16 14:44:03 +00:00
Dan Gohman
250b754428
Instead, teach SimplifyCFG to trim non-address-taken blocks from
...
indirectbr destination lists.
llvm-svn: 111122
2010-08-16 14:41:14 +00:00
Dan Gohman
fb83b043eb
Revert r111058, the lint check for indirectbr successors that aren't
...
address-taken. This can occur normally, if the code which took the
address got DCEd.
llvm-svn: 111121
2010-08-16 14:39:19 +00:00
Benjamin Kramer
cbc55d9dc0
Test expects SSE, give him SSE.
...
llvm-svn: 111115
2010-08-15 23:32:03 +00:00