Reid Spencer
5b7e753d95
Fix PR902:
...
Errors are generated with the YYERROR macro which can only be called from
a production (inside yyparse) because of the goto statement in the macro.
This lead to several situations where GEN_ERROR was not called but
GenerateError was used instead (because it doesn't use YYERROR). However,
in such situations, catching the error much later (e.g. at the end of
the production) is not sufficient because LLVM can assert on invalid data
before the end of the production is reached. The solution is to ensure that
the CHECK_FOR_ERROR macro (which invokes YYERROR if there's an error) is
used as soon as possible after a call to GenerateError has been made.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 19:28:24 +00:00
Chris Lattner
2a0b2b292a
Testcase for PR924
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30649 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 18:58:02 +00:00
Evan Cheng
5feaa9a707
TargetRegisterClass specifies the desired spill alignment. However, it cannot be honored if stack alignment is smaller.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30648 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 18:52:32 +00:00
Jim Laskey
ba9f0431f0
Fix search file for -release.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30647 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 18:45:11 +00:00
Jim Laskey
27b8ba088b
Add support for -release-asserts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30646 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 17:49:20 +00:00
Reid Spencer
22a9e5bfd8
Provide a gdb usage fix provided by Zhongzing Xu.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 16:53:47 +00:00
Bill Wendling
ca756d2cf9
"Once more into the breach, dear friends, once more, or fill the wall up
...
with our English dead."
No! Really! Serious this time...It was how the vreg uses were being
adjusted that was causing hte Olden tests to fail. I corrected this and
the Olden and Regression tests all passed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30644 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 07:10:24 +00:00
Chris Lattner
57f9a43c64
refactor critical edge breaking out into the SplitCritEdgesForPHIConstants method.
...
This is a baby step towards fixing PR925.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 06:17:10 +00:00
Chris Lattner
f308ea01d5
add a note about a general improvement to the code generator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30642 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 06:01:17 +00:00
Chris Lattner
f6e70fa0d3
remove reference to dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:38:19 +00:00
Chris Lattner
b14cb1024a
remove dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30640 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:37:43 +00:00
Chris Lattner
8a94bf142a
Use the new ManagedStatic class to explicitly manage static variables, eliminating static ctors/dtors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:35:06 +00:00
Chris Lattner
771cbf30bc
new helper class to provide more explicit management of static ctor/dtors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:31:55 +00:00
Chris Lattner
8af24b86a8
re-re-revert this, back to the right revision. It currently breaks bisort/mst
...
in olden among others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30637 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:11:54 +00:00
Evan Cheng
c2b4ec37de
PEI now place callee save spills closest to the address pointed to by the
...
incoming stack. This allows X86 backend to use push / pop in epilogue /
prologue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:10:27 +00:00
Evan Cheng
02569d7355
- Added a hook processFunctionBeforeCalleeSaveScn(). This is called by PEI just
...
before it determines which callee-save registers are to be spilled. This allows
the target to make changes such as forcing certain physical registers to be
spilled.
- Modified comments. It's important to note the order of registers in the array
returns by getCalleeSaveRegs() determines the order of callee save spill code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:07:19 +00:00
Chris Lattner
31cefb9943
re-revert this patch, bisort and mst are still broken in Olden.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30634 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28 00:04:21 +00:00
Bill Wendling
4da1abb311
Reapplying this patch. With the newest commits, the error in Olden/bisort
...
has disappeared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30633 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 22:37:35 +00:00
Chris Lattner
f38f543e01
silence warnings in release build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30631 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 18:29:38 +00:00
Devang Patel
79db5b7370
Fix DFS walk.
...
Fix http://llvm.org/bugs/show_bug.cgi?id=923
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30630 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 17:18:05 +00:00
Chris Lattner
6c88e9b458
Temporarily revert this. This breaks Olden/bisort on PPC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30628 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 16:59:16 +00:00
Jim Laskey
b05969e2f7
Make sure C++ protection shows up in debug info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 16:55:19 +00:00
Chris Lattner
259bda48e2
This:
...
AggregateString += "\0\0";
Doesn't add two nuls to the AggregateString (for obvious reasons), which
broke the asmprinter when the first character of an asm string was not
literal text.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30625 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 16:44:09 +00:00
Bill Wendling
c36f2a4cea
PR878: Instead of calculating the vreg to PHI use count everytime we get
...
a function, do it up front in linear time (going through all of the
instructions once). We create a map out of them. Then it's no problem to
use the information in it during elimination...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 09:04:15 +00:00
Chris Lattner
7514437133
set DEBUG_TYPE right
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 04:58:23 +00:00
Devang Patel
6432bf80ce
Add http://llvm.org/bugs/show_bug.cgi?id=923 test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30622 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 02:58:44 +00:00
Chris Lattner
5468966614
Use abstract private/comment directives, to increase portability to ppc/linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 02:55:21 +00:00
Chris Lattner
bae02cfd46
Add support for ${:private} which prints "L" on darwin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30620 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-27 00:06:07 +00:00
Chris Lattner
3ce9b67e0c
Add support for ${:comment}, which expands to the current target's comment
...
character, and ${:uid} which expands to a unique ID for the MachineInstr.
More can be added if/when they are needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30619 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 23:59:50 +00:00
Chris Lattner
16f046a6ce
Actually, name the method PrintSpecial to match other stuff in AsmPrinter.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 23:47:10 +00:00
Chris Lattner
1bf6361dfd
Add support for ${:foo} syntax, where "foo" is passed into "printSpecial" and
...
has no associated operand. This is useful for portably encoding stuff like
the comment character into an asm string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 23:45:08 +00:00
Evan Cheng
692d4e0823
Rename function. It's determining which callee-save registers to save.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30616 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 22:29:31 +00:00
Andrew Lenharth
16113431e8
Comments on JumpTableness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30615 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 20:02:30 +00:00
Jim Laskey
bb1518585b
Load chain check is not needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30613 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 17:44:58 +00:00
Jim Laskey
79597d2af6
Chain can be any operand
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30611 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 09:32:41 +00:00
Jim Laskey
3dd1170616
Wrong size for load
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 08:14:06 +00:00
Jim Laskey
172585b3aa
Can't move a load node if it's chain is not used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30609 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 07:37:42 +00:00
Chris Lattner
e87e1154a1
Various random and minor code cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30608 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 03:57:53 +00:00
Chris Lattner
6961329c47
test that the no_dead_strip directive is emitted on darwin-x86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30607 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 03:44:20 +00:00
Chris Lattner
681764b20c
print the preds of each MBB
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30606 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 03:41:59 +00:00
Chris Lattner
a53115b4c2
Compile:
...
int x __attribute__((used));
to:
.data
.comm _x,4 ; 'x'
.no_dead_strip _x
on both x86 and ppc darwin targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30605 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 03:39:53 +00:00
Chris Lattner
cb05af852f
Add support for targets that want to do something with the llvm.used list,
...
because they have an aggressive linker that does dead code stripping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30604 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-26 03:38:18 +00:00
Chris Lattner
384299ef45
order this properly to avoid warnings in TargetAsmInfo.cpp. Add a comment
...
in a format that matches every other ivars in this class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30603 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 22:38:36 +00:00
Jim Laskey
14fbcbfa2b
Accidental enable of bad code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30601 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 21:11:32 +00:00
Jim Laskey
288af5e740
Fix chain dropping in load and drop unused stores in ret blocks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30600 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 19:32:58 +00:00
John Criswell
a47c2e4927
Regression test for PR#922.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30599 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 19:12:01 +00:00
Chris Lattner
fb981f3fee
more notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30598 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 17:12:14 +00:00
Jim Laskey
279f053eae
Core antialiasing for load and store.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30597 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 16:29:54 +00:00
Andrew Lenharth
758f89c690
Fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30596 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-25 14:04:53 +00:00
Andrew Lenharth
0607a2f554
Fix jump tables to match gcc (and the ABI and whatnot)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30594 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-24 19:46:56 +00:00